Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc
[deliverable/linux.git] / mm / readahead.c
index 1011111e2bf433880421592e5d17655122c44417..7963f239123689864a5bf1d9e174d595c6cf1592 100644 (file)
@@ -579,20 +579,19 @@ do_readahead(struct address_space *mapping, struct file *filp,
 SYSCALL_DEFINE(readahead)(int fd, loff_t offset, size_t count)
 {
        ssize_t ret;
-       struct file *file;
-       int fput_needed;
+       struct fd f;
 
        ret = -EBADF;
-       file = fget_light(fd, &fput_needed);
-       if (file) {
-               if (file->f_mode & FMODE_READ) {
-                       struct address_space *mapping = file->f_mapping;
+       f = fdget(fd);
+       if (f.file) {
+               if (f.file->f_mode & FMODE_READ) {
+                       struct address_space *mapping = f.file->f_mapping;
                        pgoff_t start = offset >> PAGE_CACHE_SHIFT;
                        pgoff_t end = (offset + count - 1) >> PAGE_CACHE_SHIFT;
                        unsigned long len = end - start + 1;
-                       ret = do_readahead(mapping, file, start, len);
+                       ret = do_readahead(mapping, f.file, start, len);
                }
-               fput_light(file, fput_needed);
+               fdput(f);
        }
        return ret;
 }
This page took 0.051445 seconds and 5 git commands to generate.