summaryrefslogtreecommitdiffstats
path: root/fs/ocfs2/refcounttree.c
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2012-07-20 00:25:00 +0200
committerAl Viro <viro@zeniv.linux.org.uk>2012-07-29 19:24:15 +0200
commita8104a9fcdeb82e22d7acd55fca20746581067d3 (patch)
tree3036dae685f9b12a878dd02e439f0050114d7745 /fs/ocfs2/refcounttree.c
parentmknod: take sanity checks on mode into the very beginning (diff)
downloadlinux-a8104a9fcdeb82e22d7acd55fca20746581067d3.tar.xz
linux-a8104a9fcdeb82e22d7acd55fca20746581067d3.zip
pull mnt_want_write()/mnt_drop_write() into kern_path_create()/done_path_create() resp.
One side effect - attempt to create a cross-device link on a read-only fs fails with EROFS instead of EXDEV now. Makes more sense, POSIX allows, etc. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/ocfs2/refcounttree.c')
-rw-r--r--fs/ocfs2/refcounttree.c7
1 files changed, 0 insertions, 7 deletions
diff --git a/fs/ocfs2/refcounttree.c b/fs/ocfs2/refcounttree.c
index 23cf78f68503..30a055049e16 100644
--- a/fs/ocfs2/refcounttree.c
+++ b/fs/ocfs2/refcounttree.c
@@ -4466,16 +4466,9 @@ int ocfs2_reflink_ioctl(struct inode *inode,
goto out_dput;
}
- error = mnt_want_write(new_path.mnt);
- if (error) {
- mlog_errno(error);
- goto out_dput;
- }
-
error = ocfs2_vfs_reflink(old_path.dentry,
new_path.dentry->d_inode,
new_dentry, preserve);
- mnt_drop_write(new_path.mnt);
out_dput:
done_path_create(&new_path, new_dentry);
out: