Loading fs/ceph/dir.c +3 −4 Original line number Diff line number Diff line Loading @@ -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); Loading @@ -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); } Loading Loading @@ -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 */ Loading fs/ceph/mds_client.c +0 −11 Original line number Diff line number Diff line Loading @@ -1469,11 +1469,6 @@ char *ceph_mdsc_build_path(struct dentry *dentry, int *plen, u64 *base, 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) Loading Loading @@ -1510,12 +1505,6 @@ char *ceph_mdsc_build_path(struct dentry *dentry, int *plen, u64 *base, 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 Loading
fs/ceph/dir.c +3 −4 Original line number Diff line number Diff line Loading @@ -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); Loading @@ -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); } Loading Loading @@ -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 */ Loading
fs/ceph/mds_client.c +0 −11 Original line number Diff line number Diff line Loading @@ -1469,11 +1469,6 @@ char *ceph_mdsc_build_path(struct dentry *dentry, int *plen, u64 *base, 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) Loading Loading @@ -1510,12 +1505,6 @@ char *ceph_mdsc_build_path(struct dentry *dentry, int *plen, u64 *base, 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