switch o2hb_region_dev_write() to fget_light()
authorAl Viro <viro@zeniv.linux.org.uk>
Mon, 27 Aug 2012 21:55:17 +0000 (17:55 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Thu, 27 Sep 2012 01:10:26 +0000 (21:10 -0400)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/ocfs2/cluster/heartbeat.c

index a4e855e..61c28ae 100644 (file)
@@ -1750,6 +1750,7 @@ static ssize_t o2hb_region_dev_write(struct o2hb_region *reg,
        struct inode *inode = NULL;
        ssize_t ret = -EINVAL;
        int live_threshold;
+       int fput_needed;
 
        if (reg->hr_bdev)
                goto out;
@@ -1766,7 +1767,7 @@ static ssize_t o2hb_region_dev_write(struct o2hb_region *reg,
        if (fd < 0 || fd >= INT_MAX)
                goto out;
 
-       filp = fget(fd);
+       filp = fget_light(fd, &fput_needed);
        if (filp == NULL)
                goto out;
 
@@ -1884,7 +1885,7 @@ static ssize_t o2hb_region_dev_write(struct o2hb_region *reg,
 
 out:
        if (filp)
-               fput(filp);
+               fput_light(filp, fput_needed);
        if (inode)
                iput(inode);
        if (ret < 0) {