diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2012-08-27 02:30:57 +0200 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-09-27 03:10:04 +0200 |
commit | 132ea2479f77dd598f11a77bdfebbd23d244ce6f (patch) | |
tree | 3c70e6a7c0467ddf51ee196701c2dad55a0d0d02 /mm/readahead.c | |
parent | switch fadvise(2) to fget_light() (diff) | |
download | linux-132ea2479f77dd598f11a77bdfebbd23d244ce6f.tar.xz linux-132ea2479f77dd598f11a77bdfebbd23d244ce6f.zip |
switch readahead(2) to fget_light()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'mm/readahead.c')
-rw-r--r-- | mm/readahead.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/mm/readahead.c b/mm/readahead.c index ea8f8fa21649..1011111e2bf4 100644 --- a/mm/readahead.c +++ b/mm/readahead.c @@ -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; } |