aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/lustre
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2014-10-20 23:36:49 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2014-11-03 15:21:18 -0500
commitfd5c6c36a288cc15bd43f37c2be4787c41bc928f (patch)
tree854d7691ee2aec1370d28d88cb37210e1a05b249 /drivers/staging/lustre
parentkill ll_link_generic() (diff)
downloadlinux-dev-fd5c6c36a288cc15bd43f37c2be4787c41bc928f.tar.xz
linux-dev-fd5c6c36a288cc15bd43f37c2be4787c41bc928f.zip
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/lustre')
-rw-r--r--drivers/staging/lustre/lustre/llite/namei.c35
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))