• Home
  • Raw
  • Download

Lines Matching refs:dentry

44 static inline void __add_fid(struct dentry *dentry, struct p9_fid *fid)  in __add_fid()  argument
46 hlist_add_head(&fid->dlist, (struct hlist_head *)&dentry->d_fsdata); in __add_fid()
49 void v9fs_fid_add(struct dentry *dentry, struct p9_fid *fid) in v9fs_fid_add() argument
51 spin_lock(&dentry->d_lock); in v9fs_fid_add()
52 __add_fid(dentry, fid); in v9fs_fid_add()
53 spin_unlock(&dentry->d_lock); in v9fs_fid_add()
64 static struct p9_fid *v9fs_fid_find(struct dentry *dentry, kuid_t uid, int any) in v9fs_fid_find() argument
69 dentry, dentry, from_kuid(&init_user_ns, uid), in v9fs_fid_find()
73 if (dentry->d_fsdata) { in v9fs_fid_find()
74 struct hlist_head *h = (struct hlist_head *)&dentry->d_fsdata; in v9fs_fid_find()
75 spin_lock(&dentry->d_lock); in v9fs_fid_find()
82 spin_unlock(&dentry->d_lock); in v9fs_fid_find()
94 struct dentry *dentry, char ***names) in build_path_from_dentry() argument
98 struct dentry *ds; in build_path_from_dentry()
100 for (ds = dentry; !IS_ROOT(ds); ds = ds->d_parent) in build_path_from_dentry()
107 for (ds = dentry, i = (n-1); i >= 0; i--, ds = ds->d_parent) in build_path_from_dentry()
116 static struct p9_fid *v9fs_fid_lookup_with_uid(struct dentry *dentry, in v9fs_fid_lookup_with_uid() argument
119 struct dentry *ds; in v9fs_fid_lookup_with_uid()
125 v9ses = v9fs_dentry2v9ses(dentry); in v9fs_fid_lookup_with_uid()
127 fid = v9fs_fid_find(dentry, uid, any); in v9fs_fid_lookup_with_uid()
136 ds = dentry->d_parent; in v9fs_fid_lookup_with_uid()
140 fid = p9_client_walk(fid, 1, (char **)&dentry->d_name.name, 1); in v9fs_fid_lookup_with_uid()
146 fid = v9fs_fid_find(dentry->d_sb->s_root, uid, any); in v9fs_fid_lookup_with_uid()
162 v9fs_fid_add(dentry->d_sb->s_root, fid); in v9fs_fid_lookup_with_uid()
165 if (dentry->d_sb->s_root == dentry) in v9fs_fid_lookup_with_uid()
173 n = build_path_from_dentry(v9ses, dentry, &wnames); in v9fs_fid_lookup_with_uid()
206 spin_lock(&dentry->d_lock); in v9fs_fid_lookup_with_uid()
207 if (d_unhashed(dentry)) { in v9fs_fid_lookup_with_uid()
208 spin_unlock(&dentry->d_lock); in v9fs_fid_lookup_with_uid()
212 __add_fid(dentry, fid); in v9fs_fid_lookup_with_uid()
213 spin_unlock(&dentry->d_lock); in v9fs_fid_lookup_with_uid()
231 struct p9_fid *v9fs_fid_lookup(struct dentry *dentry) in v9fs_fid_lookup() argument
237 v9ses = v9fs_dentry2v9ses(dentry); in v9fs_fid_lookup()
257 return v9fs_fid_lookup_with_uid(dentry, uid, any); in v9fs_fid_lookup()
260 struct p9_fid *v9fs_fid_clone(struct dentry *dentry) in v9fs_fid_clone() argument
264 fid = v9fs_fid_lookup(dentry); in v9fs_fid_clone()
272 static struct p9_fid *v9fs_fid_clone_with_uid(struct dentry *dentry, kuid_t uid) in v9fs_fid_clone_with_uid() argument
276 fid = v9fs_fid_lookup_with_uid(dentry, uid, 0); in v9fs_fid_clone_with_uid()
284 struct p9_fid *v9fs_writeback_fid(struct dentry *dentry) in v9fs_writeback_fid() argument
289 fid = v9fs_fid_clone_with_uid(dentry, GLOBAL_ROOT_UID); in v9fs_writeback_fid()