Lines Matching refs:dentry
16 static struct dentry *afs_lookup_atcell(struct inode *dir, struct dentry *dentry, ino_t ino);
93 static struct dentry *afs_dynroot_lookup_cell(struct inode *dir, struct dentry *dentry, in afs_dynroot_lookup_cell() argument
97 struct afs_net *net = afs_d2net(dentry); in afs_dynroot_lookup_cell()
99 const char *name = dentry->d_name.name; in afs_dynroot_lookup_cell()
100 size_t len = dentry->d_name.len; in afs_dynroot_lookup_cell()
125 dentry->d_fsdata = cell; in afs_dynroot_lookup_cell()
126 return d_splice_alias(inode, dentry); in afs_dynroot_lookup_cell()
132 return d_splice_alias(inode, dentry); in afs_dynroot_lookup_cell()
139 static struct dentry *afs_dynroot_lookup(struct inode *dir, struct dentry *dentry, in afs_dynroot_lookup() argument
142 _enter("%pd", dentry); in afs_dynroot_lookup()
147 if (dentry->d_name.len >= AFSNAMEMAX) { in afs_dynroot_lookup()
152 if (dentry->d_name.len == 5 && in afs_dynroot_lookup()
153 memcmp(dentry->d_name.name, "@cell", 5) == 0) in afs_dynroot_lookup()
154 return afs_lookup_atcell(dir, dentry, 2); in afs_dynroot_lookup()
156 if (dentry->d_name.len == 6 && in afs_dynroot_lookup()
157 memcmp(dentry->d_name.name, ".@cell", 6) == 0) in afs_dynroot_lookup()
158 return afs_lookup_atcell(dir, dentry, 3); in afs_dynroot_lookup()
160 return afs_dynroot_lookup_cell(dir, dentry, flags); in afs_dynroot_lookup()
167 static void afs_dynroot_d_release(struct dentry *dentry) in afs_dynroot_d_release() argument
169 struct afs_cell *cell = dentry->d_fsdata; in afs_dynroot_d_release()
178 static int afs_dynroot_delete_dentry(const struct dentry *dentry) in afs_dynroot_delete_dentry() argument
180 const struct qstr *name = &dentry->d_name; in afs_dynroot_delete_dentry()
205 static const char *afs_atcell_get_link(struct dentry *dentry, struct inode *inode, in afs_atcell_get_link() argument
217 if (!dentry) { in afs_atcell_get_link()
249 static struct dentry *afs_lookup_atcell(struct inode *dir, struct dentry *dentry, ino_t ino) in afs_lookup_atcell() argument
277 return d_splice_alias(inode, dentry); in afs_lookup_atcell()
332 struct afs_net *net = afs_d2net(file->f_path.dentry); in afs_dynroot_readdir()