Commit e6ff9a9f authored by Oleg Nesterov's avatar Oleg Nesterov Committed by Al Viro

fs: __fget_light() can use __fget() in slow path

The slow path in __fget_light() can use __fget() to avoid the
code duplication. Saves 232 bytes.
Signed-off-by: default avatarOleg Nesterov <oleg@redhat.com>
Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent ad461834
...@@ -694,17 +694,9 @@ struct file *__fget_light(unsigned int fd, fmode_t mask, int *fput_needed) ...@@ -694,17 +694,9 @@ struct file *__fget_light(unsigned int fd, fmode_t mask, int *fput_needed)
if (file && (file->f_mode & mask)) if (file && (file->f_mode & mask))
file = NULL; file = NULL;
} else { } else {
rcu_read_lock(); file = __fget(fd, mask);
file = fcheck_files(files, fd); if (file)
if (file) { *fput_needed = 1;
if (!(file->f_mode & mask) &&
atomic_long_inc_not_zero(&file->f_count))
*fput_needed = 1;
else
/* Didn't get the reference, someone's freed */
file = NULL;
}
rcu_read_unlock();
} }
return file; return file;
......
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