Commit 132ea247 authored by Al Viro's avatar Al Viro

switch readahead(2) to fget_light()

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 61144378
...@@ -580,9 +580,10 @@ SYSCALL_DEFINE(readahead)(int fd, loff_t offset, size_t count) ...@@ -580,9 +580,10 @@ SYSCALL_DEFINE(readahead)(int fd, loff_t offset, size_t count)
{ {
ssize_t ret; ssize_t ret;
struct file *file; struct file *file;
int fput_needed;
ret = -EBADF; ret = -EBADF;
file = fget(fd); file = fget_light(fd, &fput_needed);
if (file) { if (file) {
if (file->f_mode & FMODE_READ) { if (file->f_mode & FMODE_READ) {
struct address_space *mapping = file->f_mapping; struct address_space *mapping = file->f_mapping;
...@@ -591,7 +592,7 @@ SYSCALL_DEFINE(readahead)(int fd, loff_t offset, size_t count) ...@@ -591,7 +592,7 @@ SYSCALL_DEFINE(readahead)(int fd, loff_t offset, size_t count)
unsigned long len = end - start + 1; unsigned long len = end - start + 1;
ret = do_readahead(mapping, file, start, len); ret = do_readahead(mapping, file, start, len);
} }
fput(file); fput_light(file, fput_needed);
} }
return ret; return ret;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment