浏览代码

lustre: get rid of duplicate mountpoint checks

VFS has already done them

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro 10 年之前
父节点
当前提交
fd5c6c36a2
共有 1 个文件被更改,包括 0 次插入35 次删除
  1. 0 35
      drivers/staging/lustre/lustre/llite/namei.c

+ 0 - 35
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))