提交 33ea2f52 编写于 作者: R Robert Love 提交者: Linus Torvalds

[PATCH] inotify: use fget_light

As an optimization, use fget_light() and fput_light() where possible.
Signed-off-by: NRobert Love <rml@novell.com>
Signed-off-by: NJohn McCutchan <ttb@tentacle.dhs.org>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 b680716e
......@@ -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 @@ asmlinkage long sys_inotify_add_watch(int fd, const char __user *path, u32 mask)
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;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册