• Home
  • Raw
  • Download

Lines Matching refs:dentry

22 static int get_name(struct vfsmount *mnt, struct dentry *dentry, char *name,
23 struct dentry *child);
26 static int exportfs_get_name(struct vfsmount *mnt, struct dentry *dir, in exportfs_get_name()
27 char *name, struct dentry *child) in exportfs_get_name()
40 static struct dentry *
41 find_acceptable_alias(struct dentry *result, in find_acceptable_alias()
42 int (*acceptable)(void *context, struct dentry *dentry), in find_acceptable_alias() argument
45 struct dentry *dentry, *toput = NULL; in find_acceptable_alias() local
51 list_for_each_entry(dentry, &result->d_inode->i_dentry, d_alias) { in find_acceptable_alias()
52 dget_locked(dentry); in find_acceptable_alias()
56 if (dentry != result && acceptable(context, dentry)) { in find_acceptable_alias()
58 return dentry; in find_acceptable_alias()
61 toput = dentry; in find_acceptable_alias()
73 static struct dentry *
74 find_disconnected_root(struct dentry *dentry) in find_disconnected_root() argument
76 dget(dentry); in find_disconnected_root()
77 spin_lock(&dentry->d_lock); in find_disconnected_root()
78 while (!IS_ROOT(dentry) && in find_disconnected_root()
79 (dentry->d_parent->d_flags & DCACHE_DISCONNECTED)) { in find_disconnected_root()
80 struct dentry *parent = dentry->d_parent; in find_disconnected_root()
82 spin_unlock(&dentry->d_lock); in find_disconnected_root()
83 dput(dentry); in find_disconnected_root()
84 dentry = parent; in find_disconnected_root()
85 spin_lock(&dentry->d_lock); in find_disconnected_root()
87 spin_unlock(&dentry->d_lock); in find_disconnected_root()
88 return dentry; in find_disconnected_root()
98 reconnect_path(struct vfsmount *mnt, struct dentry *target_dir, char *nbuf) in reconnect_path()
112 struct dentry *pd = find_disconnected_root(target_dir); in reconnect_path()
142 struct dentry *ppd = ERR_PTR(-EACCES); in reconnect_path()
143 struct dentry *npd; in reconnect_path()
250 static int get_name(struct vfsmount *mnt, struct dentry *dentry, in get_name() argument
251 char *name, struct dentry *child) in get_name()
254 struct inode *dir = dentry->d_inode; in get_name()
268 file = dentry_open(dget(dentry), mntget(mnt), O_RDONLY, cred); in get_name()
316 static int export_encode_fh(struct dentry *dentry, struct fid *fid, in export_encode_fh() argument
319 struct inode * inode = dentry->d_inode; in export_encode_fh()
332 spin_lock(&dentry->d_lock); in export_encode_fh()
333 parent = dentry->d_parent->d_inode; in export_encode_fh()
336 spin_unlock(&dentry->d_lock); in export_encode_fh()
344 int exportfs_encode_fh(struct dentry *dentry, struct fid *fid, int *max_len, in exportfs_encode_fh() argument
347 const struct export_operations *nop = dentry->d_sb->s_export_op; in exportfs_encode_fh()
351 error = nop->encode_fh(dentry, fid->raw, max_len, connectable); in exportfs_encode_fh()
353 error = export_encode_fh(dentry, fid, max_len, connectable); in exportfs_encode_fh()
359 struct dentry *exportfs_decode_fh(struct vfsmount *mnt, struct fid *fid, in exportfs_decode_fh()
361 int (*acceptable)(void *, struct dentry *), void *context) in exportfs_decode_fh() argument
364 struct dentry *result, *alias; in exportfs_decode_fh()
402 struct dentry *target_dir, *nresult; in exportfs_decode_fh()