Home
last modified time | relevance | path

Searched refs:dentry (Results 1 – 25 of 497) sorted by relevance

12345678910>>...20

/fs/
Ddcache.c109 static inline struct hlist_bl_head *in_lookup_hash(const struct dentry *parent, in in_lookup_hash()
231 static inline int dentry_cmp(const struct dentry *dentry, const unsigned char *ct, unsigned tcount) in dentry_cmp() argument
249 const unsigned char *cs = READ_ONCE(dentry->d_name.name); in dentry_cmp()
262 static inline struct external_name *external_name(struct dentry *dentry) in external_name() argument
264 return container_of(dentry->d_name.name, struct external_name, name[0]); in external_name()
269 struct dentry *dentry = container_of(head, struct dentry, d_u.d_rcu); in __d_free() local
271 kmem_cache_free(dentry_cache, dentry); in __d_free()
276 struct dentry *dentry = container_of(head, struct dentry, d_u.d_rcu); in __d_free_external() local
277 kfree(external_name(dentry)); in __d_free_external()
278 kmem_cache_free(dentry_cache, dentry); in __d_free_external()
[all …]
Dnamei.c483 dget(path->dentry); in path_get()
495 dput(path->dentry); in path_put()
582 return is_subdir(path->dentry, mnt->mnt_root); in path_connected()
631 path->dentry = NULL; in legitimize_path()
634 if (unlikely(!lockref_get_not_dead(&path->dentry->d_lockref))) { in legitimize_path()
635 path->dentry = NULL; in legitimize_path()
638 return !read_seqcount_retry(&path->dentry->d_seq, seq); in legitimize_path()
687 struct dentry *parent = nd->path.dentry; in unlazy_walk()
704 nd->path.dentry = NULL; in unlazy_walk()
723 static int unlazy_child(struct nameidata *nd, struct dentry *dentry, unsigned seq) in unlazy_child() argument
[all …]
/fs/overlayfs/
Doverlayfs.h88 static inline int ovl_do_rmdir(struct inode *dir, struct dentry *dentry) in ovl_do_rmdir() argument
90 int err = vfs_rmdir(dir, dentry); in ovl_do_rmdir()
92 pr_debug("rmdir(%pd2) = %i\n", dentry, err); in ovl_do_rmdir()
96 static inline int ovl_do_unlink(struct inode *dir, struct dentry *dentry) in ovl_do_unlink() argument
98 int err = vfs_unlink(dir, dentry, NULL); in ovl_do_unlink()
100 pr_debug("unlink(%pd2) = %i\n", dentry, err); in ovl_do_unlink()
104 static inline int ovl_do_link(struct dentry *old_dentry, struct inode *dir, in ovl_do_link()
105 struct dentry *new_dentry) in ovl_do_link()
113 static inline int ovl_do_create(struct inode *dir, struct dentry *dentry, in ovl_do_create() argument
116 int err = vfs_create(dir, dentry, mode, true); in ovl_do_create()
[all …]
Dutil.c18 int ovl_want_write(struct dentry *dentry) in ovl_want_write() argument
20 struct ovl_fs *ofs = dentry->d_sb->s_fs_info; in ovl_want_write()
24 void ovl_drop_write(struct dentry *dentry) in ovl_drop_write() argument
26 struct ovl_fs *ofs = dentry->d_sb->s_fs_info; in ovl_drop_write()
30 struct dentry *ovl_workdir(struct dentry *dentry) in ovl_workdir() argument
32 struct ovl_fs *ofs = dentry->d_sb->s_fs_info; in ovl_workdir()
79 struct dentry *ovl_indexdir(struct super_block *sb) in ovl_indexdir()
113 bool ovl_dentry_remote(struct dentry *dentry) in ovl_dentry_remote() argument
115 return dentry->d_flags & in ovl_dentry_remote()
120 bool ovl_dentry_weird(struct dentry *dentry) in ovl_dentry_weird() argument
[all …]
Dexport.c19 static int ovl_encode_maybe_copy_up(struct dentry *dentry) in ovl_encode_maybe_copy_up() argument
23 if (ovl_dentry_upper(dentry)) in ovl_encode_maybe_copy_up()
26 err = ovl_want_write(dentry); in ovl_encode_maybe_copy_up()
28 err = ovl_copy_up(dentry); in ovl_encode_maybe_copy_up()
29 ovl_drop_write(dentry); in ovl_encode_maybe_copy_up()
34 dentry, err); in ovl_encode_maybe_copy_up()
77 static int ovl_connectable_layer(struct dentry *dentry) in ovl_connectable_layer() argument
79 struct ovl_entry *oe = OVL_E(dentry); in ovl_connectable_layer()
82 if (dentry == dentry->d_sb->s_root) in ovl_connectable_layer()
89 if (ovl_dentry_upper(dentry) && in ovl_connectable_layer()
[all …]
Ddir.c24 static int ovl_set_redirect(struct dentry *dentry, bool samedir);
26 int ovl_cleanup(struct inode *wdir, struct dentry *wdentry) in ovl_cleanup()
45 static struct dentry *ovl_lookup_temp(struct dentry *workdir) in ovl_lookup_temp()
47 struct dentry *temp; in ovl_lookup_temp()
65 static struct dentry *ovl_whiteout(struct dentry *workdir) in ovl_whiteout()
68 struct dentry *whiteout; in ovl_whiteout()
85 int ovl_cleanup_and_whiteout(struct dentry *workdir, struct inode *dir, in ovl_cleanup_and_whiteout()
86 struct dentry *dentry) in ovl_cleanup_and_whiteout() argument
89 struct dentry *whiteout; in ovl_cleanup_and_whiteout()
98 if (d_is_dir(dentry)) in ovl_cleanup_and_whiteout()
[all …]
Dcopy_up.c39 int ovl_copy_xattr(struct dentry *old, struct dentry *new) in ovl_copy_xattr()
180 static int ovl_set_size(struct dentry *upperdentry, struct kstat *stat) in ovl_set_size()
190 static int ovl_set_timestamps(struct dentry *upperdentry, struct kstat *stat) in ovl_set_timestamps()
202 int ovl_set_attr(struct dentry *upperdentry, struct kstat *stat) in ovl_set_attr()
227 struct ovl_fh *ovl_encode_real_fh(struct dentry *real, bool is_upper) in ovl_encode_real_fh()
283 int ovl_set_origin(struct dentry *dentry, struct dentry *lower, in ovl_set_origin() argument
284 struct dentry *upper) in ovl_set_origin()
303 err = ovl_check_setxattr(dentry, upper, OVL_XATTR_ORIGIN, fh, in ovl_set_origin()
311 static int ovl_set_upper_fh(struct dentry *upper, struct dentry *index) in ovl_set_upper_fh()
331 static int ovl_create_index(struct dentry *dentry, struct dentry *origin, in ovl_create_index() argument
[all …]
Dinode.c16 int ovl_setattr(struct dentry *dentry, struct iattr *attr) in ovl_setattr() argument
20 struct dentry *upperdentry; in ovl_setattr()
23 err = setattr_prepare(dentry, attr); in ovl_setattr()
27 err = ovl_want_write(dentry); in ovl_setattr()
32 struct inode *realinode = d_inode(ovl_dentry_real(dentry)); in ovl_setattr()
43 err = ovl_copy_up(dentry); in ovl_setattr()
45 err = ovl_copy_up_with_data(dentry); in ovl_setattr()
49 upperdentry = ovl_dentry_upper(dentry); in ovl_setattr()
62 old_cred = ovl_override_creds(dentry->d_sb); in ovl_setattr()
64 ovl_revert_creds(dentry->d_sb, old_cred); in ovl_setattr()
[all …]
Dnamei.c28 static int ovl_check_redirect(struct dentry *dentry, struct ovl_lookup_data *d, in ovl_check_redirect() argument
34 buf = ovl_get_redirect_xattr(dentry, prelen + strlen(post)); in ovl_check_redirect()
63 static int ovl_acceptable(void *ctx, struct dentry *dentry) in ovl_acceptable() argument
69 if (!d_is_dir(dentry)) in ovl_acceptable()
73 if (d_unhashed(dentry)) in ovl_acceptable()
77 return is_subdir(dentry, ((struct vfsmount *)ctx)->mnt_root); in ovl_acceptable()
107 static struct ovl_fh *ovl_get_fh(struct dentry *dentry, const char *name) in ovl_get_fh() argument
113 res = ovl_do_vfs_getxattr(dentry, name, NULL, 0); in ovl_get_fh()
127 res = ovl_do_vfs_getxattr(dentry, name, fh, res); in ovl_get_fh()
153 struct dentry *ovl_decode_real_fh(struct ovl_fh *fh, struct vfsmount *mnt, in ovl_decode_real_fh()
[all …]
/fs/debugfs/
Dinode.c44 static int debugfs_setattr(struct dentry *dentry, struct iattr *ia) in debugfs_setattr() argument
50 return simple_setattr(dentry, ia); in debugfs_setattr()
179 static int debugfs_show_options(struct seq_file *m, struct dentry *root) in debugfs_show_options()
210 static void debugfs_release_dentry(struct dentry *dentry) in debugfs_release_dentry() argument
212 void *fsd = dentry->d_fsdata; in debugfs_release_dentry()
215 kfree(dentry->d_fsdata); in debugfs_release_dentry()
221 f = (debugfs_automount_t)path->dentry->d_fsdata; in debugfs_automount()
222 return f(path->dentry, d_inode(path->dentry)->i_private); in debugfs_automount()
265 static struct dentry *debug_mount(struct file_system_type *fs_type, in debug_mount()
292 struct dentry *debugfs_lookup(const char *name, struct dentry *parent) in debugfs_lookup()
[all …]
/fs/autofs/
Droot.c13 static int autofs_dir_symlink(struct inode *, struct dentry *, const char *);
14 static int autofs_dir_unlink(struct inode *, struct dentry *);
15 static int autofs_dir_rmdir(struct inode *, struct dentry *);
16 static int autofs_dir_mkdir(struct inode *, struct dentry *, umode_t);
23 static struct dentry *autofs_lookup(struct inode *,
24 struct dentry *, unsigned int);
27 static void autofs_dentry_release(struct dentry *);
63 static void autofs_del_active(struct dentry *dentry) in autofs_del_active() argument
65 struct autofs_sb_info *sbi = autofs_sbi(dentry->d_sb); in autofs_del_active()
68 ino = autofs_dentry_ino(dentry); in autofs_del_active()
[all …]
Dexpire.c11 static inline int autofs_can_expire(struct dentry *dentry, in autofs_can_expire() argument
14 struct autofs_info *ino = autofs_dentry_ino(dentry); in autofs_can_expire()
30 struct dentry *dentry, unsigned int how) in autofs_mount_busy() argument
32 struct dentry *top = dentry; in autofs_mount_busy()
33 struct path path = {.mnt = mnt, .dentry = dentry}; in autofs_mount_busy()
36 pr_debug("dentry %p %pd\n", dentry, dentry); in autofs_mount_busy()
43 if (is_autofs_dentry(path.dentry)) { in autofs_mount_busy()
44 struct autofs_sb_info *sbi = autofs_sbi(path.dentry->d_sb); in autofs_mount_busy()
74 static struct dentry *positive_after(struct dentry *p, struct dentry *child) in positive_after()
79 child = list_first_entry(&p->d_subdirs, struct dentry, d_child); in positive_after()
[all …]
/fs/ocfs2/
Ddcache.c28 void ocfs2_dentry_attach_gen(struct dentry *dentry) in ocfs2_dentry_attach_gen() argument
31 OCFS2_I(d_inode(dentry->d_parent))->ip_dir_lock_gen; in ocfs2_dentry_attach_gen()
32 BUG_ON(d_inode(dentry)); in ocfs2_dentry_attach_gen()
33 dentry->d_fsdata = (void *)gen; in ocfs2_dentry_attach_gen()
37 static int ocfs2_dentry_revalidate(struct dentry *dentry, unsigned int flags) in ocfs2_dentry_revalidate() argument
46 inode = d_inode(dentry); in ocfs2_dentry_revalidate()
47 osb = OCFS2_SB(dentry->d_sb); in ocfs2_dentry_revalidate()
49 trace_ocfs2_dentry_revalidate(dentry, dentry->d_name.len, in ocfs2_dentry_revalidate()
50 dentry->d_name.name); in ocfs2_dentry_revalidate()
57 unsigned long gen = (unsigned long) dentry->d_fsdata; in ocfs2_dentry_revalidate()
[all …]
/fs/tracefs/
Dinode.c55 static char *get_dname(struct dentry *dentry) in get_dname() argument
59 int len = dentry->d_name.len; in get_dname()
61 dname = dentry->d_name.name; in get_dname()
70 static int tracefs_syscall_mkdir(struct inode *inode, struct dentry *dentry, umode_t mode) in tracefs_syscall_mkdir() argument
75 name = get_dname(dentry); in tracefs_syscall_mkdir()
93 static int tracefs_syscall_rmdir(struct inode *inode, struct dentry *dentry) in tracefs_syscall_rmdir() argument
98 name = get_dname(dentry); in tracefs_syscall_rmdir()
110 inode_unlock(dentry->d_inode); in tracefs_syscall_rmdir()
115 inode_lock(dentry->d_inode); in tracefs_syscall_rmdir()
241 static int tracefs_show_options(struct seq_file *m, struct dentry *root) in tracefs_show_options()
[all …]
/fs/ecryptfs/
Dinode.c24 static struct dentry *lock_parent(struct dentry *dentry) in lock_parent() argument
26 struct dentry *dir; in lock_parent()
28 dir = dget_parent(dentry); in lock_parent()
33 static void unlock_dir(struct dentry *dir) in unlock_dir()
115 static int ecryptfs_interpose(struct dentry *lower_dentry, in ecryptfs_interpose()
116 struct dentry *dentry, struct super_block *sb) in ecryptfs_interpose() argument
122 d_instantiate(dentry, inode); in ecryptfs_interpose()
127 static int ecryptfs_do_unlink(struct inode *dir, struct dentry *dentry, in ecryptfs_do_unlink() argument
130 struct dentry *lower_dentry = ecryptfs_dentry_to_lower(dentry); in ecryptfs_do_unlink()
131 struct dentry *lower_dir_dentry; in ecryptfs_do_unlink()
[all …]
/fs/ceph/
Ddir.c33 static int __dir_lease_try_check(const struct dentry *dentry);
38 static int ceph_d_init(struct dentry *dentry) in ceph_d_init() argument
46 di->dentry = dentry; in ceph_d_init()
49 dentry->d_fsdata = di; in ceph_d_init()
123 static struct dentry *
124 __dcache_find_get_entry(struct dentry *parent, u64 idx, in __dcache_find_get_entry()
128 struct dentry *dentry; in __dcache_find_get_entry() local
129 unsigned idx_mask = (PAGE_SIZE / sizeof(struct dentry *)) - 1; in __dcache_find_get_entry()
130 loff_t ptr_pos = idx * sizeof(struct dentry *); in __dcache_find_get_entry()
156 dentry = cache_ctl->dentries[cache_ctl->index]; in __dcache_find_get_entry()
[all …]
/fs/exportfs/
Dexpfs.c24 static int get_name(const struct path *path, char *name, struct dentry *child);
27 static int exportfs_get_name(struct vfsmount *mnt, struct dentry *dir, in exportfs_get_name()
28 char *name, struct dentry *child) in exportfs_get_name()
31 struct path path = {.mnt = mnt, .dentry = dir}; in exportfs_get_name()
42 static struct dentry *
43 find_acceptable_alias(struct dentry *result, in find_acceptable_alias()
44 int (*acceptable)(void *context, struct dentry *dentry), in find_acceptable_alias() argument
47 struct dentry *dentry, *toput = NULL; in find_acceptable_alias() local
55 hlist_for_each_entry(dentry, &inode->i_dentry, d_u.d_alias) { in find_acceptable_alias()
56 dget(dentry); in find_acceptable_alias()
[all …]
/fs/reiserfs/
Dxattr.c66 static int xattr_create(struct inode *dir, struct dentry *dentry, int mode) in xattr_create() argument
69 return dir->i_op->create(dir, dentry, mode, true); in xattr_create()
73 static int xattr_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode) in xattr_mkdir() argument
76 return dir->i_op->mkdir(dir, dentry, mode); in xattr_mkdir()
85 static int xattr_unlink(struct inode *dir, struct dentry *dentry) in xattr_unlink() argument
91 inode_lock_nested(d_inode(dentry), I_MUTEX_CHILD); in xattr_unlink()
92 error = dir->i_op->unlink(dir, dentry); in xattr_unlink()
93 inode_unlock(d_inode(dentry)); in xattr_unlink()
96 d_delete(dentry); in xattr_unlink()
100 static int xattr_rmdir(struct inode *dir, struct dentry *dentry) in xattr_rmdir() argument
[all …]
/fs/sdcardfs/
Ddentry.c29 static int sdcardfs_d_revalidate(struct dentry *dentry, unsigned int flags) in sdcardfs_d_revalidate() argument
33 struct dentry *parent_dentry = NULL; in sdcardfs_d_revalidate()
34 struct dentry *parent_lower_dentry = NULL; in sdcardfs_d_revalidate()
35 struct dentry *lower_cur_parent_dentry = NULL; in sdcardfs_d_revalidate()
36 struct dentry *lower_dentry = NULL; in sdcardfs_d_revalidate()
43 spin_lock(&dentry->d_lock); in sdcardfs_d_revalidate()
44 if (IS_ROOT(dentry)) { in sdcardfs_d_revalidate()
45 spin_unlock(&dentry->d_lock); in sdcardfs_d_revalidate()
48 spin_unlock(&dentry->d_lock); in sdcardfs_d_revalidate()
53 if (is_obbpath_invalid(dentry)) { in sdcardfs_d_revalidate()
[all …]
Dlookup.c42 void free_dentry_private_data(struct dentry *dentry) in free_dentry_private_data() argument
44 kmem_cache_free(sdcardfs_dentry_cachep, dentry->d_fsdata); in free_dentry_private_data()
45 dentry->d_fsdata = NULL; in free_dentry_private_data()
49 int new_dentry_private_data(struct dentry *dentry) in new_dentry_private_data() argument
51 struct sdcardfs_dentry_info *info = SDCARDFS_D(dentry); in new_dentry_private_data()
59 dentry->d_fsdata = info; in new_dentry_private_data()
167 static struct dentry *__sdcardfs_interpose(struct dentry *dentry, in __sdcardfs_interpose() argument
175 struct dentry *ret_dentry; in __sdcardfs_interpose()
177 lower_inode = d_inode(lower_path->dentry); in __sdcardfs_interpose()
198 ret_dentry = d_splice_alias(inode, dentry); in __sdcardfs_interpose()
[all …]
Dinode.c62 static int sdcardfs_create(struct inode *dir, struct dentry *dentry, in sdcardfs_create() argument
66 struct dentry *lower_dentry; in sdcardfs_create()
68 struct dentry *lower_parent_dentry = NULL; in sdcardfs_create()
74 if (!check_caller_access_to_name(dir, &dentry->d_name)) { in sdcardfs_create()
85 sdcardfs_get_lower_path(dentry, &lower_path); in sdcardfs_create()
86 lower_dentry = lower_path.dentry; in sdcardfs_create()
112 err = sdcardfs_interpose(dentry, dir->i_sb, &lower_path, in sdcardfs_create()
118 fixup_lower_ownership(dentry, dentry->d_name.name); in sdcardfs_create()
127 sdcardfs_put_lower_path(dentry, &lower_path); in sdcardfs_create()
133 static int sdcardfs_unlink(struct inode *dir, struct dentry *dentry) in sdcardfs_unlink() argument
[all …]
/fs/9p/
Dfid.c29 static inline void __add_fid(struct dentry *dentry, struct p9_fid *fid) in __add_fid() argument
31 hlist_add_head(&fid->dlist, (struct hlist_head *)&dentry->d_fsdata); in __add_fid()
34 void v9fs_fid_add(struct dentry *dentry, struct p9_fid *fid) in v9fs_fid_add() argument
36 spin_lock(&dentry->d_lock); in v9fs_fid_add()
37 __add_fid(dentry, fid); in v9fs_fid_add()
38 spin_unlock(&dentry->d_lock); in v9fs_fid_add()
49 static struct p9_fid *v9fs_fid_find(struct dentry *dentry, kuid_t uid, int any) in v9fs_fid_find() argument
54 dentry, dentry, from_kuid(&init_user_ns, uid), in v9fs_fid_find()
58 if (dentry->d_fsdata) { in v9fs_fid_find()
59 struct hlist_head *h = (struct hlist_head *)&dentry->d_fsdata; in v9fs_fid_find()
[all …]
/fs/configfs/
Ddir.c39 static void configfs_d_iput(struct dentry * dentry, in configfs_d_iput() argument
42 struct configfs_dirent *sd = dentry->d_fsdata; in configfs_d_iput()
53 if (sd->s_dentry == dentry) in configfs_d_iput()
237 struct dentry * dentry, void * element, in configfs_make_dirent() argument
247 sd->s_dentry = dentry; in configfs_make_dirent()
248 if (dentry) in configfs_make_dirent()
249 dentry->d_fsdata = configfs_get(sd); in configfs_make_dirent()
254 static void configfs_remove_dirent(struct dentry *dentry) in configfs_remove_dirent() argument
256 struct configfs_dirent *sd = dentry->d_fsdata; in configfs_remove_dirent()
275 static int configfs_create_dir(struct config_item *item, struct dentry *dentry, in configfs_create_dir() argument
[all …]
/fs/nfs/
Ddir.c379 int nfs_same_file(struct dentry *dentry, struct nfs_entry *entry) in nfs_same_file() argument
384 if (d_really_is_negative(dentry)) in nfs_same_file()
387 inode = d_inode(dentry); in nfs_same_file()
445 void nfs_prime_dcache(struct dentry *parent, struct nfs_entry *entry) in nfs_prime_dcache()
449 struct dentry *dentry; in nfs_prime_dcache() local
450 struct dentry *alias; in nfs_prime_dcache()
475 dentry = d_lookup(parent, &filename); in nfs_prime_dcache()
477 if (!dentry) { in nfs_prime_dcache()
478 dentry = d_alloc_parallel(parent, &filename, &wq); in nfs_prime_dcache()
479 if (IS_ERR(dentry)) in nfs_prime_dcache()
[all …]
/fs/cachefiles/
Dxattr.c27 struct dentry *dentry = object->dentry; in cachefiles_check_object_type() local
31 ASSERT(dentry); in cachefiles_check_object_type()
32 ASSERT(d_backing_inode(dentry)); in cachefiles_check_object_type()
42 ret = vfs_setxattr(dentry, cachefiles_xattr_cache, type, 2, in cachefiles_check_object_type()
51 dentry, d_backing_inode(dentry)->i_ino, in cachefiles_check_object_type()
57 ret = vfs_getxattr(dentry, cachefiles_xattr_cache, xtype, 3); in cachefiles_check_object_type()
63 dentry, d_backing_inode(dentry)->i_ino, in cachefiles_check_object_type()
83 d_backing_inode(dentry)->i_ino); in cachefiles_check_object_type()
90 dentry, d_backing_inode(dentry)->i_ino, in cachefiles_check_object_type()
102 struct dentry *dentry = object->dentry; in cachefiles_set_object_xattr() local
[all …]

12345678910>>...20