]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
switch readahead(2) to fget_light()
authorAl Viro <viro@zeniv.linux.org.uk>
Mon, 27 Aug 2012 00:30:57 +0000 (20:30 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Thu, 6 Sep 2012 13:49:07 +0000 (09:49 -0400)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
mm/readahead.c

index ea8f8fa21649d7069543e19e0e48ae38d63c175e..1011111e2bf433880421592e5d17655122c44417 100644 (file)
@@ -580,9 +580,10 @@ SYSCALL_DEFINE(readahead)(int fd, loff_t offset, size_t count)
 {
        ssize_t ret;
        struct file *file;
+       int fput_needed;
 
        ret = -EBADF;
-       file = fget(fd);
+       file = fget_light(fd, &fput_needed);
        if (file) {
                if (file->f_mode & FMODE_READ) {
                        struct address_space *mapping = file->f_mapping;
@@ -591,7 +592,7 @@ SYSCALL_DEFINE(readahead)(int fd, loff_t offset, size_t count)
                        unsigned long len = end - start + 1;
                        ret = do_readahead(mapping, file, start, len);
                }
-               fput(file);
+               fput_light(file, fput_needed);
        }
        return ret;
 }