diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2014-10-20 23:36:49 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2014-11-03 15:21:18 -0500 |
commit | fd5c6c36a288cc15bd43f37c2be4787c41bc928f (patch) | |
tree | 854d7691ee2aec1370d28d88cb37210e1a05b249 /drivers/staging | |
parent | 59cc93ef27cd6acec0f67e5f185ff21efbcaabcb (diff) |
lustre: get rid of duplicate mountpoint checks
VFS has already done them
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'drivers/staging')
-rw-r--r-- | drivers/staging/lustre/lustre/llite/namei.c | 35 |
1 files changed, 0 insertions, 35 deletions
diff --git a/drivers/staging/lustre/lustre/llite/namei.c b/drivers/staging/lustre/lustre/llite/namei.c index 9ea878238b62..02283c533f5b 100644 --- a/drivers/staging/lustre/lustre/llite/namei.c +++ b/drivers/staging/lustre/lustre/llite/namei.c @@ -54,27 +54,6 @@ static int ll_create_it(struct inode *, struct dentry *, int, struct lookup_intent *); -/* - * Check if we have something mounted at the named dchild. - * In such a case there would always be dentry present. - */ -static int ll_d_mountpoint(struct dentry *dparent, struct dentry *dchild, - struct qstr *name) -{ - int mounted = 0; - - if (unlikely(dchild)) { - mounted = d_mountpoint(dchild); - } else if (dparent) { - dchild = d_lookup(dparent, name); - if (dchild) { - mounted = d_mountpoint(dchild); - dput(dchild); - } - } - return mounted; -} - /* called from iget5_locked->find_inode() under inode_hash_lock spinlock */ static int ll_test_inode(struct inode *inode, void *opaque) { @@ -1003,13 +982,6 @@ static int ll_unlink(struct inode * dir, struct dentry *dentry) CDEBUG(D_VFSTRACE, "VFS Op:name=%pd,dir=%lu/%u(%p)\n", dentry, dir->i_ino, dir->i_generation, dir); - /* - * XXX: unlink bind mountpoint maybe call to here, - * just check it as vfs_unlink does. - */ - if (unlikely(ll_d_mountpoint(NULL, dentry, &dentry->d_name))) - return -EBUSY; - op_data = ll_prep_md_op_data(NULL, dir, NULL, dentry->d_name.name, dentry->d_name.len, @@ -1060,9 +1032,6 @@ static int ll_rmdir(struct inode *dir, struct dentry *dentry) CDEBUG(D_VFSTRACE, "VFS Op:name=%pd,dir=%lu/%u(%p)\n", dentry, dir->i_ino, dir->i_generation, dir); - if (unlikely(ll_d_mountpoint(NULL, dentry, &dentry->d_name))) - return -EBUSY; - op_data = ll_prep_md_op_data(NULL, dir, NULL, dentry->d_name.name, dentry->d_name.len, @@ -1147,10 +1116,6 @@ static int ll_rename(struct inode *old_dir, struct dentry *old_dentry, old_dir->i_ino, old_dir->i_generation, old_dir, new_dentry, new_dir->i_ino, new_dir->i_generation, new_dir); - if (unlikely(ll_d_mountpoint(NULL, old_dentry, &old_dentry->d_name) || - ll_d_mountpoint(NULL, new_dentry, &new_dentry->d_name))) - return -EBUSY; - op_data = ll_prep_md_op_data(NULL, old_dir, new_dir, NULL, 0, 0, LUSTRE_OPC_ANY, NULL); if (IS_ERR(op_data)) |