/linux-6.12.1/include/linux/ |
D | dcache.h | 82 struct dentry { struct 87 struct dentry *d_parent; /* parent directory */ argument 139 int (*d_revalidate)(struct dentry *, unsigned int); 140 int (*d_weak_revalidate)(struct dentry *, unsigned int); 141 int (*d_hash)(const struct dentry *, struct qstr *); 142 int (*d_compare)(const struct dentry *, 144 int (*d_delete)(const struct dentry *); 145 int (*d_init)(struct dentry *); 146 void (*d_release)(struct dentry *); 147 void (*d_prune)(struct dentry *); [all …]
|
D | debugfs.h | 46 extern struct dentry *arch_debugfs_dir; 68 typedef struct vfsmount *(*debugfs_automount_t)(struct dentry *, void *); 72 struct dentry *debugfs_lookup(const char *name, struct dentry *parent); 74 struct dentry *debugfs_create_file(const char *name, umode_t mode, 75 struct dentry *parent, void *data, 77 struct dentry *debugfs_create_file_unsafe(const char *name, umode_t mode, 78 struct dentry *parent, void *data, 82 struct dentry *parent, void *data, 86 struct dentry *debugfs_create_dir(const char *name, struct dentry *parent); 88 struct dentry *debugfs_create_symlink(const char *name, struct dentry *parent, [all …]
|
D | namei.h | 55 struct dentry *lookup_one_qstr_excl(const struct qstr *name, 56 struct dentry *base, 60 extern struct dentry *kern_path_create(int, const char *, struct path *, unsigned int); 61 extern struct dentry *user_path_create(int, const char __user *, struct path *, unsigned int); 62 extern void done_path_create(struct path *, struct dentry *); 63 extern struct dentry *kern_path_locked(const char *, struct path *); 64 extern struct dentry *user_path_locked_at(int , const char __user *, struct path *); 68 int vfs_path_lookup(struct dentry *, struct vfsmount *, const char *, 71 extern struct dentry *try_lookup_one_len(const char *, struct dentry *, int); 72 extern struct dentry *lookup_one_len(const char *, struct dentry *, int); [all …]
|
D | fsnotify.h | 58 static inline void fsnotify_dirent(struct inode *dir, struct dentry *dentry, in fsnotify_dirent() argument 61 fsnotify_name(mask, dentry, FSNOTIFY_EVENT_DENTRY, dir, &dentry->d_name, 0); in fsnotify_dirent() 76 static inline int fsnotify_parent(struct dentry *dentry, __u32 mask, in fsnotify_parent() argument 79 struct inode *inode = d_inode(dentry); in fsnotify_parent() 88 if (!(dentry->d_flags & DCACHE_FSNOTIFY_PARENT_WATCHED)) in fsnotify_parent() 93 if (IS_ROOT(dentry)) in fsnotify_parent() 96 return __fsnotify_parent(dentry, mask, data, data_type); in fsnotify_parent() 106 static inline void fsnotify_dentry(struct dentry *dentry, __u32 mask) in fsnotify_dentry() argument 108 fsnotify_parent(dentry, mask, dentry, FSNOTIFY_EVENT_DENTRY); in fsnotify_dentry() 127 !fsnotify_sb_has_priority_watchers(path->dentry->d_sb, in fsnotify_file() [all …]
|
/linux-6.12.1/fs/ |
D | dcache.c | 119 static inline struct hlist_bl_head *in_lookup_hash(const struct dentry *parent, in in_lookup_hash() 265 static inline int dentry_cmp(const struct dentry *dentry, const unsigned char *ct, unsigned tcount) in dentry_cmp() argument 283 const unsigned char *cs = READ_ONCE(dentry->d_name.name); in dentry_cmp() 296 static inline struct external_name *external_name(struct dentry *dentry) in external_name() argument 298 return container_of(dentry->d_name.name, struct external_name, name[0]); in external_name() 303 struct dentry *dentry = container_of(head, struct dentry, d_u.d_rcu); in __d_free() local 305 kmem_cache_free(dentry_cache, dentry); in __d_free() 310 struct dentry *dentry = container_of(head, struct dentry, d_u.d_rcu); in __d_free_external() local 311 kfree(external_name(dentry)); in __d_free_external() 312 kmem_cache_free(dentry_cache, dentry); in __d_free_external() [all …]
|
D | namei.c | 556 dget(path->dentry); in path_get() 568 dput(path->dentry); in path_put() 610 p->path.dentry = NULL; in __set_nameidata() 659 static bool path_connected(struct vfsmount *mnt, struct dentry *dentry) in path_connected() argument 667 return is_subdir(dentry, mnt->mnt_root); in path_connected() 704 nd->path.dentry = NULL; in terminate_walk() 714 path->dentry = NULL; in __legitimize_path() 717 if (unlikely(!lockref_get_not_dead(&path->dentry->d_lockref))) { in __legitimize_path() 718 path->dentry = NULL; in __legitimize_path() 721 return !read_seqcount_retry(&path->dentry->d_seq, seq); in __legitimize_path() [all …]
|
D | libfs.c | 36 struct inode *inode = d_inode(path->dentry); in simple_getattr() 43 int simple_statfs(struct dentry *dentry, struct kstatfs *buf) in simple_statfs() argument 45 u64 id = huge_encode_dev(dentry->d_sb->s_dev); in simple_statfs() 48 buf->f_type = dentry->d_sb->s_magic; in simple_statfs() 59 int always_delete_dentry(const struct dentry *dentry) in always_delete_dentry() argument 74 struct dentry *simple_lookup(struct inode *dir, struct dentry *dentry, unsigned int flags) in simple_lookup() argument 76 if (dentry->d_name.len > NAME_MAX) in simple_lookup() 78 if (!dentry->d_sb->s_d_op) in simple_lookup() 79 d_set_d_op(dentry, &simple_dentry_operations); in simple_lookup() 80 d_add(dentry, NULL); in simple_lookup() [all …]
|
/linux-6.12.1/fs/overlayfs/ |
D | overlayfs.h | 200 struct dentry *upperdentry, in ovl_do_notify_change() 207 struct inode *dir, struct dentry *dentry) in ovl_do_rmdir() argument 209 int err = vfs_rmdir(ovl_upper_mnt_idmap(ofs), dir, dentry); in ovl_do_rmdir() 211 pr_debug("rmdir(%pd2) = %i\n", dentry, err); in ovl_do_rmdir() 216 struct dentry *dentry) in ovl_do_unlink() argument 218 int err = vfs_unlink(ovl_upper_mnt_idmap(ofs), dir, dentry, NULL); in ovl_do_unlink() 220 pr_debug("unlink(%pd2) = %i\n", dentry, err); in ovl_do_unlink() 224 static inline int ovl_do_link(struct ovl_fs *ofs, struct dentry *old_dentry, in ovl_do_link() 225 struct inode *dir, struct dentry *new_dentry) in ovl_do_link() 235 struct inode *dir, struct dentry *dentry, in ovl_do_create() argument [all …]
|
D | util.c | 21 int ovl_get_write_access(struct dentry *dentry) in ovl_get_write_access() argument 23 struct ovl_fs *ofs = OVL_FS(dentry->d_sb); in ovl_get_write_access() 28 void ovl_start_write(struct dentry *dentry) in ovl_start_write() argument 30 struct ovl_fs *ofs = OVL_FS(dentry->d_sb); in ovl_start_write() 34 int ovl_want_write(struct dentry *dentry) in ovl_want_write() argument 36 struct ovl_fs *ofs = OVL_FS(dentry->d_sb); in ovl_want_write() 40 void ovl_put_write_access(struct dentry *dentry) in ovl_put_write_access() argument 42 struct ovl_fs *ofs = OVL_FS(dentry->d_sb); in ovl_put_write_access() 46 void ovl_end_write(struct dentry *dentry) in ovl_end_write() argument 48 struct ovl_fs *ofs = OVL_FS(dentry->d_sb); in ovl_end_write() [all …]
|
D | dir.c | 25 static int ovl_set_redirect(struct dentry *dentry, bool samedir); 27 int ovl_cleanup(struct ovl_fs *ofs, struct inode *wdir, struct dentry *wdentry) in ovl_cleanup() 46 struct dentry *ovl_lookup_temp(struct ovl_fs *ofs, struct dentry *workdir) in ovl_lookup_temp() 48 struct dentry *temp; in ovl_lookup_temp() 66 static struct dentry *ovl_whiteout(struct ovl_fs *ofs) in ovl_whiteout() 69 struct dentry *whiteout; in ovl_whiteout() 70 struct dentry *workdir = ofs->workdir; in ovl_whiteout() 111 struct dentry *dentry) in ovl_cleanup_and_whiteout() argument 114 struct dentry *whiteout; in ovl_cleanup_and_whiteout() 123 if (d_is_dir(dentry)) in ovl_cleanup_and_whiteout() [all …]
|
D | export.c | 19 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_copy_up(dentry); in ovl_encode_maybe_copy_up() 29 dentry, err); in ovl_encode_maybe_copy_up() 72 static int ovl_connectable_layer(struct dentry *dentry) in ovl_connectable_layer() argument 74 struct ovl_entry *oe = OVL_E(dentry); in ovl_connectable_layer() 77 if (dentry == dentry->d_sb->s_root) in ovl_connectable_layer() 84 if (ovl_dentry_upper(dentry) && in ovl_connectable_layer() 85 !ovl_test_flag(OVL_INDEX, d_inode(dentry))) in ovl_connectable_layer() 100 static int ovl_connect_layer(struct dentry *dentry) in ovl_connect_layer() argument [all …]
|
D | copy_up.c | 48 struct dentry *dentry, const char *acl_name) in ovl_copy_acl() argument 69 err = ovl_do_set_acl(ofs, dentry, acl_name, clone); in ovl_copy_acl() 76 int ovl_copy_xattr(struct super_block *sb, const struct path *oldpath, struct dentry *new) in ovl_copy_xattr() 78 struct dentry *old = oldpath->dentry; in ovl_copy_xattr() 185 old->dentry, err); in ovl_copy_fileattr() 196 err = ovl_set_protattr(inode, new->dentry, &oldfa); in ovl_copy_fileattr() 218 new->dentry, err); in ovl_copy_fileattr() 261 static int ovl_copy_up_file(struct ovl_fs *ofs, struct dentry *dentry, in ovl_copy_up_file() argument 275 ovl_path_lowerdata(dentry, &datapath); in ovl_copy_up_file() 276 if (WARN_ON_ONCE(datapath.dentry == NULL) || in ovl_copy_up_file() [all …]
|
/linux-6.12.1/drivers/net/wireless/ti/wl1251/ |
D | wl1251.h | 146 struct dentry *rootdir; 147 struct dentry *fw_statistics; 149 struct dentry *tx_internal_desc_overflow; 151 struct dentry *rx_out_of_mem; 152 struct dentry *rx_hdr_overflow; 153 struct dentry *rx_hw_stuck; 154 struct dentry *rx_dropped; 155 struct dentry *rx_fcs_err; 156 struct dentry *rx_xfr_hint_trig; 157 struct dentry *rx_path_reset; [all …]
|
/linux-6.12.1/fs/debugfs/ |
D | inode.c | 46 struct dentry *dentry, struct iattr *ia) in debugfs_setattr() argument 55 return simple_setattr(&nop_mnt_idmap, dentry, ia); in debugfs_setattr() 195 static int debugfs_show_options(struct seq_file *m, struct dentry *root) in debugfs_show_options() 224 static void debugfs_release_dentry(struct dentry *dentry) in debugfs_release_dentry() argument 226 struct debugfs_fsdata *fsd = dentry->d_fsdata; in debugfs_release_dentry() 242 struct debugfs_fsdata *fsd = path->dentry->d_fsdata; in debugfs_automount() 244 return fsd->automount(path->dentry, d_inode(path->dentry)->i_private); in debugfs_automount() 326 struct dentry *debugfs_lookup(const char *name, struct dentry *parent) in debugfs_lookup() 328 struct dentry *dentry; in debugfs_lookup() local 336 dentry = lookup_positive_unlocked(name, parent, strlen(name)); in debugfs_lookup() [all …]
|
/linux-6.12.1/fs/autofs/ |
D | root.c | 15 struct dentry *, const char *); 16 static int autofs_dir_unlink(struct inode *, struct dentry *); 17 static int autofs_dir_rmdir(struct inode *, struct dentry *); 19 struct dentry *, umode_t); 26 static struct dentry *autofs_lookup(struct inode *, 27 struct dentry *, unsigned int); 30 static void autofs_dentry_release(struct dentry *); 67 static void autofs_del_active(struct dentry *dentry) in autofs_del_active() argument 69 struct autofs_sb_info *sbi = autofs_sbi(dentry->d_sb); in autofs_del_active() 72 ino = autofs_dentry_ino(dentry); in autofs_del_active() [all …]
|
D | expire.c | 11 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() 94 static struct dentry *get_next_positive_subdir(struct dentry *prev, in get_next_positive_subdir() [all …]
|
/linux-6.12.1/fs/ocfs2/ |
D | dcache.c | 26 void ocfs2_dentry_attach_gen(struct dentry *dentry) in ocfs2_dentry_attach_gen() argument 29 OCFS2_I(d_inode(dentry->d_parent))->ip_dir_lock_gen; in ocfs2_dentry_attach_gen() 30 BUG_ON(d_inode(dentry)); in ocfs2_dentry_attach_gen() 31 dentry->d_fsdata = (void *)gen; in ocfs2_dentry_attach_gen() 35 static int ocfs2_dentry_revalidate(struct dentry *dentry, unsigned int flags) in ocfs2_dentry_revalidate() argument 44 inode = d_inode(dentry); in ocfs2_dentry_revalidate() 45 osb = OCFS2_SB(dentry->d_sb); in ocfs2_dentry_revalidate() 47 trace_ocfs2_dentry_revalidate(dentry, dentry->d_name.len, in ocfs2_dentry_revalidate() 48 dentry->d_name.name); in ocfs2_dentry_revalidate() 55 unsigned long gen = (unsigned long) dentry->d_fsdata; in ocfs2_dentry_revalidate() [all …]
|
/linux-6.12.1/fs/exportfs/ |
D | expfs.c | 24 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 …]
|
/linux-6.12.1/fs/ecryptfs/ |
D | inode.c | 27 static int lock_parent(struct dentry *dentry, in lock_parent() argument 28 struct dentry **lower_dentry, in lock_parent() 31 struct dentry *lower_dir_dentry; in lock_parent() 33 lower_dir_dentry = ecryptfs_dentry_to_lower(dentry->d_parent); in lock_parent() 35 *lower_dentry = ecryptfs_dentry_to_lower(dentry); in lock_parent() 125 static int ecryptfs_interpose(struct dentry *lower_dentry, in ecryptfs_interpose() 126 struct dentry *dentry, struct super_block *sb) in ecryptfs_interpose() argument 132 d_instantiate(dentry, inode); in ecryptfs_interpose() 137 static int ecryptfs_do_unlink(struct inode *dir, struct dentry *dentry, in ecryptfs_do_unlink() argument 140 struct dentry *lower_dentry; in ecryptfs_do_unlink() [all …]
|
/linux-6.12.1/fs/reiserfs/ |
D | xattr.c | 67 static int xattr_create(struct inode *dir, struct dentry *dentry, int mode) in xattr_create() argument 70 return dir->i_op->create(&nop_mnt_idmap, dir, dentry, mode, true); in xattr_create() 74 static int xattr_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode) in xattr_mkdir() argument 77 return dir->i_op->mkdir(&nop_mnt_idmap, dir, dentry, mode); in xattr_mkdir() 86 static int xattr_unlink(struct inode *dir, struct dentry *dentry) in xattr_unlink() argument 92 inode_lock_nested(d_inode(dentry), I_MUTEX_CHILD); in xattr_unlink() 93 error = dir->i_op->unlink(dir, dentry); in xattr_unlink() 94 inode_unlock(d_inode(dentry)); in xattr_unlink() 97 d_delete(dentry); in xattr_unlink() 101 static int xattr_rmdir(struct inode *dir, struct dentry *dentry) in xattr_rmdir() argument [all …]
|
/linux-6.12.1/fs/ceph/ |
D | dir.c | 34 static int __dir_lease_try_check(const struct dentry *dentry); 39 static int ceph_d_init(struct dentry *dentry) in ceph_d_init() argument 42 struct ceph_mds_client *mdsc = ceph_sb_to_mdsc(dentry->d_sb); in ceph_d_init() 48 di->dentry = dentry; in ceph_d_init() 51 dentry->d_fsdata = di; in ceph_d_init() 130 static struct dentry * 131 __dcache_find_get_entry(struct dentry *parent, u64 idx, in __dcache_find_get_entry() 136 struct dentry *dentry; in __dcache_find_get_entry() local 137 unsigned idx_mask = (PAGE_SIZE / sizeof(struct dentry *)) - 1; in __dcache_find_get_entry() 138 loff_t ptr_pos = idx * sizeof(struct dentry *); in __dcache_find_get_entry() [all …]
|
/linux-6.12.1/security/integrity/evm/ |
D | evm_main.c | 131 static int evm_find_protected_xattrs(struct dentry *dentry) in evm_find_protected_xattrs() argument 133 struct inode *inode = d_backing_inode(dentry); in evm_find_protected_xattrs() 142 error = __vfs_getxattr(dentry, inode, xattr->name, NULL, 0); in evm_find_protected_xattrs() 154 static int is_unsupported_hmac_fs(struct dentry *dentry) in is_unsupported_hmac_fs() argument 156 struct inode *inode = d_backing_inode(dentry); in is_unsupported_hmac_fs() 178 static enum integrity_status evm_verify_hmac(struct dentry *dentry, in evm_verify_hmac() argument 187 struct inode *inode = d_backing_inode(dentry); in evm_verify_hmac() 200 is_unsupported_hmac_fs(dentry)) in evm_verify_hmac() 206 rc = vfs_getxattr_alloc(&nop_mnt_idmap, dentry, XATTR_NAME_EVM, in evm_verify_hmac() 211 rc = evm_find_protected_xattrs(dentry); in evm_verify_hmac() [all …]
|
/linux-6.12.1/fs/tracefs/ |
D | inode.c | 97 static char *get_dname(struct dentry *dentry) in get_dname() argument 101 int len = dentry->d_name.len; in get_dname() 103 dname = dentry->d_name.name; in get_dname() 113 struct inode *inode, struct dentry *dentry, in tracefs_syscall_mkdir() argument 120 name = get_dname(dentry); in tracefs_syscall_mkdir() 147 static int tracefs_syscall_rmdir(struct inode *inode, struct dentry *dentry) in tracefs_syscall_rmdir() argument 152 name = get_dname(dentry); in tracefs_syscall_rmdir() 164 inode_unlock(d_inode(dentry)); in tracefs_syscall_rmdir() 169 inode_lock(d_inode(dentry)); in tracefs_syscall_rmdir() 226 struct inode *inode = d_backing_inode(path->dentry); in tracefs_getattr() [all …]
|
/linux-6.12.1/fs/9p/ |
D | fid.c | 21 static inline void __add_fid(struct dentry *dentry, struct p9_fid *fid) in __add_fid() argument 23 hlist_add_head(&fid->dlist, (struct hlist_head *)&dentry->d_fsdata); in __add_fid() 33 void v9fs_fid_add(struct dentry *dentry, struct p9_fid **pfid) in v9fs_fid_add() argument 37 spin_lock(&dentry->d_lock); in v9fs_fid_add() 38 __add_fid(dentry, fid); in v9fs_fid_add() 39 spin_unlock(&dentry->d_lock); in v9fs_fid_add() 113 static struct p9_fid *v9fs_fid_find(struct dentry *dentry, kuid_t uid, int any) in v9fs_fid_find() argument 118 dentry, dentry, from_kuid(&init_user_ns, uid), in v9fs_fid_find() 122 if (dentry->d_fsdata) { in v9fs_fid_find() 123 struct hlist_head *h = (struct hlist_head *)&dentry->d_fsdata; in v9fs_fid_find() [all …]
|
/linux-6.12.1/arch/s390/hypfs/ |
D | inode.c | 33 static struct dentry *hypfs_create_update_file(struct dentry *dir); 38 struct dentry *update_file; /* file to trigger update */ 48 static struct dentry *hypfs_last_dentry; 61 static void hypfs_add_dentry(struct dentry *dentry) in hypfs_add_dentry() argument 63 dentry->d_fsdata = hypfs_last_dentry; in hypfs_add_dentry() 64 hypfs_last_dentry = dentry; in hypfs_add_dentry() 67 static void hypfs_remove(struct dentry *dentry) in hypfs_remove() argument 69 struct dentry *parent; in hypfs_remove() 71 parent = dentry->d_parent; in hypfs_remove() 73 if (simple_positive(dentry)) { in hypfs_remove() [all …]
|