ceph: clean up useless d_parent checks
d_parent is never NULL, and IS_ROOT() is the proper way to check for a (non-self-referential) parent. Reported-by: Al Viro <viro@ZenIV.linux.org.uk> Signed-off-by: Sage Weil <sage@inktank.com>
This commit is contained in:
parent
a2a3258417
commit
8842b3be96
|
@ -51,8 +51,7 @@ int ceph_init_dentry(struct dentry *dentry)
|
|||
goto out_unlock;
|
||||
}
|
||||
|
||||
if (dentry->d_parent == NULL || /* nfs fh_to_dentry */
|
||||
ceph_snap(dentry->d_parent->d_inode) == CEPH_NOSNAP)
|
||||
if (ceph_snap(dentry->d_parent->d_inode) == CEPH_NOSNAP)
|
||||
d_set_d_op(dentry, &ceph_dentry_ops);
|
||||
else if (ceph_snap(dentry->d_parent->d_inode) == CEPH_SNAPDIR)
|
||||
d_set_d_op(dentry, &ceph_snapdir_dentry_ops);
|
||||
|
@ -79,7 +78,7 @@ struct inode *ceph_get_dentry_parent_inode(struct dentry *dentry)
|
|||
return NULL;
|
||||
|
||||
spin_lock(&dentry->d_lock);
|
||||
if (dentry->d_parent) {
|
||||
if (!IS_ROOT(dentry)) {
|
||||
inode = dentry->d_parent->d_inode;
|
||||
ihold(inode);
|
||||
}
|
||||
|
@ -1140,7 +1139,7 @@ static void ceph_d_prune(struct dentry *dentry)
|
|||
dout("ceph_d_prune %p\n", dentry);
|
||||
|
||||
/* do we have a valid parent? */
|
||||
if (!dentry->d_parent || IS_ROOT(dentry))
|
||||
if (IS_ROOT(dentry))
|
||||
return;
|
||||
|
||||
/* if we are not hashed, we don't affect D_COMPLETE */
|
||||
|
|
|
@ -1469,11 +1469,6 @@ retry:
|
|||
else
|
||||
len += 1 + temp->d_name.len;
|
||||
temp = temp->d_parent;
|
||||
if (temp == NULL) {
|
||||
rcu_read_unlock();
|
||||
pr_err("build_path corrupt dentry %p\n", dentry);
|
||||
return ERR_PTR(-EINVAL);
|
||||
}
|
||||
}
|
||||
rcu_read_unlock();
|
||||
if (len)
|
||||
|
@ -1510,12 +1505,6 @@ retry:
|
|||
if (pos)
|
||||
path[--pos] = '/';
|
||||
temp = temp->d_parent;
|
||||
if (temp == NULL) {
|
||||
rcu_read_unlock();
|
||||
pr_err("build_path corrupt dentry\n");
|
||||
kfree(path);
|
||||
return ERR_PTR(-EINVAL);
|
||||
}
|
||||
}
|
||||
rcu_read_unlock();
|
||||
if (pos != 0 || read_seqretry(&rename_lock, seq)) {
|
||||
|
|
Loading…
Reference in New Issue