Skip to content

Commit

Permalink
fs: __fget_light() can use __fget() in slow path
Browse files Browse the repository at this point in the history
The slow path in __fget_light() can use __fget() to avoid the
code duplication. Saves 232 bytes.

Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
  • Loading branch information
Oleg Nesterov authored and Al Viro committed Jan 25, 2014
1 parent ad46183 commit e6ff9a9
Showing 1 changed file with 3 additions and 11 deletions.
14 changes: 3 additions & 11 deletions fs/file.c
Original file line number Diff line number Diff line change
Expand Up @@ -694,17 +694,9 @@ struct file *__fget_light(unsigned int fd, fmode_t mask, int *fput_needed)
if (file && (file->f_mode & mask))
file = NULL;
} else {
rcu_read_lock();
file = fcheck_files(files, fd);
if (file) {
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();
file = __fget(fd, mask);
if (file)
*fput_needed = 1;
}

return file;
Expand Down

0 comments on commit e6ff9a9

Please sign in to comment.