mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-13 16:50:05 +00:00
[PATCH] inotify: use fget_light
As an optimization, use fget_light() and fput_light() where possible. Signed-off-by: Robert Love <rml@novell.com> Signed-off-by: John McCutchan <ttb@tentacle.dhs.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
b680716ed2
commit
33ea2f52b8
16
fs/inotify.c
16
fs/inotify.c
@ -923,10 +923,10 @@ asmlinkage long sys_inotify_add_watch(int fd, const char __user *path, u32 mask)
|
||||
struct inotify_device *dev;
|
||||
struct nameidata nd;
|
||||
struct file *filp;
|
||||
int ret;
|
||||
int ret, fput_needed;
|
||||
|
||||
filp = fget(fd);
|
||||
if (!filp)
|
||||
filp = fget_light(fd, &fput_needed);
|
||||
if (unlikely(!filp))
|
||||
return -EBADF;
|
||||
|
||||
ret = find_inode(path, &nd);
|
||||
@ -973,7 +973,7 @@ out:
|
||||
up(&dev->sem);
|
||||
up(&inode->inotify_sem);
|
||||
fput_and_out:
|
||||
fput(filp);
|
||||
fput_light(filp, fput_needed);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -981,14 +981,14 @@ asmlinkage long sys_inotify_rm_watch(int fd, u32 wd)
|
||||
{
|
||||
struct file *filp;
|
||||
struct inotify_device *dev;
|
||||
int ret;
|
||||
int ret, fput_needed;
|
||||
|
||||
filp = fget(fd);
|
||||
if (!filp)
|
||||
filp = fget_light(fd, &fput_needed);
|
||||
if (unlikely(!filp))
|
||||
return -EBADF;
|
||||
dev = filp->private_data;
|
||||
ret = inotify_ignore(dev, wd);
|
||||
fput(filp);
|
||||
fput_light(filp, fput_needed);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user