switch readahead(2) to fget_light()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Al Viro 2012-08-26 20:30:57 -04:00
parent 611443783a
commit 132ea2479f

View 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;
}