Lines Matching refs:dentry
61 static struct dentry *__fh_to_dentry(struct super_block *sb, u64 ino) in __fh_to_dentry()
65 struct dentry *dentry; in __fh_to_dentry() local
91 dentry = d_obtain_alias(inode); in __fh_to_dentry()
92 if (IS_ERR(dentry)) { in __fh_to_dentry()
94 return dentry; in __fh_to_dentry()
96 err = ceph_init_dentry(dentry); in __fh_to_dentry()
98 dput(dentry); in __fh_to_dentry()
101 dout("__fh_to_dentry %llx %p dentry %p\n", ino, inode, dentry); in __fh_to_dentry()
102 return dentry; in __fh_to_dentry()
108 static struct dentry *ceph_fh_to_dentry(struct super_block *sb, in ceph_fh_to_dentry()
124 static struct dentry *__get_parent(struct super_block *sb, in __get_parent()
125 struct dentry *child, u64 ino) in __get_parent()
130 struct dentry *dentry; in __get_parent() local
156 dentry = d_obtain_alias(inode); in __get_parent()
157 if (IS_ERR(dentry)) { in __get_parent()
159 return dentry; in __get_parent()
161 err = ceph_init_dentry(dentry); in __get_parent()
163 dput(dentry); in __get_parent()
168 dentry, ceph_vinop(inode)); in __get_parent()
169 return dentry; in __get_parent()
172 static struct dentry *ceph_get_parent(struct dentry *child) in ceph_get_parent()
186 static struct dentry *ceph_fh_to_parent(struct super_block *sb, in ceph_fh_to_parent()
191 struct dentry *dentry; in ceph_fh_to_parent() local
199 dentry = __get_parent(sb, NULL, cfh->ino); in ceph_fh_to_parent()
200 if (IS_ERR(dentry) && PTR_ERR(dentry) == -ENOENT) in ceph_fh_to_parent()
201 dentry = __fh_to_dentry(sb, cfh->parent_ino); in ceph_fh_to_parent()
202 return dentry; in ceph_fh_to_parent()
205 static int ceph_get_name(struct dentry *parent, char *name, in ceph_get_name()
206 struct dentry *child) in ceph_get_name()