/fs/ |
D | dcache.c | 47 #define DNAME_INLINE_LEN (sizeof(struct dentry)-offsetof(struct dentry,d_iname)) 69 static void __d_free(struct dentry *dentry) in __d_free() argument 71 WARN_ON(!list_empty(&dentry->d_alias)); in __d_free() 72 if (dname_external(dentry)) in __d_free() 73 kfree(dentry->d_name.name); in __d_free() 74 kmem_cache_free(dentry_cache, dentry); in __d_free() 79 struct dentry * dentry = container_of(head, struct dentry, d_u.d_rcu); in d_callback() local 80 __d_free(dentry); in d_callback() 87 static void d_free(struct dentry *dentry) in d_free() argument 89 if (dentry->d_op && dentry->d_op->d_release) in d_free() [all …]
|
D | namei.c | 290 return inode_permission(file->f_path.dentry->d_inode, mask); in file_permission() 326 struct inode *inode = file->f_path.dentry->d_inode; in deny_write_access() 348 dget(path->dentry); in path_get() 360 dput(path->dentry); in path_put() 371 if (nd->intent.open.file->f_path.dentry == NULL) in release_open_intent() 377 static inline struct dentry * 378 do_revalidate(struct dentry *dentry, struct nameidata *nd) in do_revalidate() argument 380 int status = dentry->d_op->d_revalidate(dentry, nd); in do_revalidate() 389 if (!d_invalidate(dentry)) { in do_revalidate() 390 dput(dentry); in do_revalidate() [all …]
|
/fs/autofs4/ |
D | root.c | 22 static int autofs4_dir_symlink(struct inode *,struct dentry *,const char *); 23 static int autofs4_dir_unlink(struct inode *,struct dentry *); 24 static int autofs4_dir_rmdir(struct inode *,struct dentry *); 25 static int autofs4_dir_mkdir(struct inode *,struct dentry *,int); 28 static struct dentry *autofs4_lookup(struct inode *,struct dentry *, struct nameidata *); 29 static void *autofs4_follow_link(struct dentry *, struct nameidata *); 77 struct dentry *dentry = file->f_path.dentry; in autofs4_dir_open() local 78 struct autofs_sb_info *sbi = autofs4_sbi(dentry->d_sb); in autofs4_dir_open() 81 file, dentry, dentry->d_name.len, dentry->d_name.name); in autofs4_dir_open() 96 if (!d_mountpoint(dentry) && __simple_empty(dentry)) { in autofs4_dir_open() [all …]
|
D | expire.c | 20 static inline int autofs4_can_expire(struct dentry *dentry, in autofs4_can_expire() argument 23 struct autofs_info *ino = autofs4_dentry_ino(dentry); in autofs4_can_expire() 30 if (dentry->d_flags & DCACHE_AUTOFS_PENDING) in autofs4_can_expire() 48 static int autofs4_mount_busy(struct vfsmount *mnt, struct dentry *dentry) in autofs4_mount_busy() argument 50 struct dentry *top = dentry; in autofs4_mount_busy() 54 dentry, (int)dentry->d_name.len, dentry->d_name.name); in autofs4_mount_busy() 57 dget(dentry); in autofs4_mount_busy() 59 if (!follow_down(&mnt, &dentry)) in autofs4_mount_busy() 62 if (is_autofs4_dentry(dentry)) { in autofs4_mount_busy() 63 struct autofs_sb_info *sbi = autofs4_sbi(dentry->d_sb); in autofs4_mount_busy() [all …]
|
/fs/debugfs/ |
D | inode.c | 65 static int debugfs_mknod(struct inode *dir, struct dentry *dentry, in debugfs_mknod() argument 71 if (dentry->d_inode) in debugfs_mknod() 76 d_instantiate(dentry, inode); in debugfs_mknod() 77 dget(dentry); in debugfs_mknod() 83 static int debugfs_mkdir(struct inode *dir, struct dentry *dentry, int mode) in debugfs_mkdir() argument 88 res = debugfs_mknod(dir, dentry, mode, 0); in debugfs_mkdir() 91 fsnotify_mkdir(dir, dentry); in debugfs_mkdir() 96 static int debugfs_link(struct inode *dir, struct dentry *dentry, int mode) in debugfs_link() argument 99 return debugfs_mknod(dir, dentry, mode, 0); in debugfs_link() 102 static int debugfs_create(struct inode *dir, struct dentry *dentry, int mode) in debugfs_create() argument [all …]
|
/fs/smbfs/ |
D | dir.c | 28 static struct dentry *smb_lookup(struct inode *, struct dentry *, struct nameidata *); 29 static int smb_create(struct inode *, struct dentry *, int, struct nameidata *); 30 static int smb_mkdir(struct inode *, struct dentry *, int); 31 static int smb_rmdir(struct inode *, struct dentry *); 32 static int smb_unlink(struct inode *, struct dentry *); 33 static int smb_rename(struct inode *, struct dentry *, 34 struct inode *, struct dentry *); 35 static int smb_make_node(struct inode *,struct dentry *,int,dev_t); 36 static int smb_link(struct dentry *, struct inode *, struct dentry *); 82 struct dentry *dentry = filp->f_path.dentry; in smb_readdir() local [all …]
|
D | proto.h | 17 extern int smb_open(struct dentry *dentry, int wish); 19 extern int smb_close_fileid(struct dentry *dentry, __u16 fileid); 20 extern int smb_proc_create(struct dentry *dentry, __u16 attr, time_t ctime, __u16 *fileid); 21 extern int smb_proc_mv(struct dentry *old_dentry, struct dentry *new_dentry); 22 extern int smb_proc_mkdir(struct dentry *dentry); 23 extern int smb_proc_rmdir(struct dentry *dentry); 24 extern int smb_proc_unlink(struct dentry *dentry); 28 extern int smb_proc_getattr(struct dentry *dir, struct smb_fattr *fattr); 29 extern int smb_proc_setattr(struct dentry *dir, struct smb_fattr *fattr); 30 extern int smb_proc_setattr_unix(struct dentry *d, struct iattr *attr, unsigned int major, unsigned… [all …]
|
D | file.c | 32 smb_fsync(struct file *file, struct dentry * dentry, int datasync) in smb_fsync() argument 34 struct smb_sb_info *server = server_from_dentry(dentry); in smb_fsync() 37 VERBOSE("sync file %s/%s\n", DENTRY_PATH(dentry)); in smb_fsync() 47 result = smb_proc_flush(server, SMB_I(dentry->d_inode)->fileid); in smb_fsync() 55 smb_readpage_sync(struct dentry *dentry, struct page *page) in smb_readpage_sync() argument 59 struct smb_sb_info *server = server_from_dentry(dentry); in smb_readpage_sync() 65 DENTRY_PATH(dentry), count, offset, rsize); in smb_readpage_sync() 67 result = smb_open(dentry, SMB_O_RDONLY); in smb_readpage_sync() 75 result = server->ops->read(dentry->d_inode,offset,rsize,buffer); in smb_readpage_sync() 82 dentry->d_inode->i_atime = in smb_readpage_sync() [all …]
|
/fs/ocfs2/ |
D | dcache.c | 44 static int ocfs2_dentry_revalidate(struct dentry *dentry, in ocfs2_dentry_revalidate() argument 47 struct inode *inode = dentry->d_inode; in ocfs2_dentry_revalidate() 49 struct ocfs2_super *osb = OCFS2_SB(dentry->d_sb); in ocfs2_dentry_revalidate() 51 mlog_entry("(0x%p, '%.*s')\n", dentry, in ocfs2_dentry_revalidate() 52 dentry->d_name.len, dentry->d_name.name); in ocfs2_dentry_revalidate() 56 mlog(0, "negative dentry: %.*s\n", dentry->d_name.len, in ocfs2_dentry_revalidate() 57 dentry->d_name.name); in ocfs2_dentry_revalidate() 96 static int ocfs2_match_dentry(struct dentry *dentry, in ocfs2_match_dentry() argument 108 if (!dentry->d_fsdata) in ocfs2_match_dentry() 111 if (!dentry->d_parent) in ocfs2_match_dentry() [all …]
|
/fs/nfs/ |
D | dir.c | 47 static struct dentry *nfs_lookup(struct inode *, struct dentry *, struct nameidata *); 48 static int nfs_create(struct inode *, struct dentry *, int, struct nameidata *); 49 static int nfs_mkdir(struct inode *, struct dentry *, int); 50 static int nfs_rmdir(struct inode *, struct dentry *); 51 static int nfs_unlink(struct inode *, struct dentry *); 52 static int nfs_symlink(struct inode *, struct dentry *, const char *); 53 static int nfs_link(struct dentry *, struct inode *, struct dentry *); 54 static int nfs_mknod(struct inode *, struct dentry *, int, dev_t); 55 static int nfs_rename(struct inode *, struct dentry *, 56 struct inode *, struct dentry *); [all …]
|
D | namespace.c | 28 const struct dentry *dentry, 47 const struct dentry *droot, in nfs_path() 48 const struct dentry *dentry, in nfs_path() argument 57 while (!IS_ROOT(dentry) && dentry != droot) { in nfs_path() 58 namelen = dentry->d_name.len; in nfs_path() 63 memcpy(end, dentry->d_name.name, namelen); in nfs_path() 65 dentry = dentry->d_parent; in nfs_path() 97 static void * nfs_follow_mountpoint(struct dentry *dentry, struct nameidata *nd) in nfs_follow_mountpoint() argument 100 struct nfs_server *server = NFS_SERVER(dentry->d_inode); in nfs_follow_mountpoint() 101 struct dentry *parent; in nfs_follow_mountpoint() [all …]
|
/fs/affs/ |
D | namei.c | 16 static int affs_hash_dentry(struct dentry *, struct qstr *); 17 static int affs_compare_dentry(struct dentry *, struct qstr *, struct qstr *); 19 static int affs_intl_hash_dentry(struct dentry *, struct qstr *); 20 static int affs_intl_compare_dentry(struct dentry *, struct qstr *, struct qstr *); 61 __affs_hash_dentry(struct dentry *dentry, struct qstr *qstr, toupper_t toupper) in __affs_hash_dentry() argument 81 affs_hash_dentry(struct dentry *dentry, struct qstr *qstr) in affs_hash_dentry() argument 83 return __affs_hash_dentry(dentry, qstr, affs_toupper); in affs_hash_dentry() 86 affs_intl_hash_dentry(struct dentry *dentry, struct qstr *qstr) in affs_intl_hash_dentry() argument 88 return __affs_hash_dentry(dentry, qstr, affs_intl_toupper); in affs_intl_hash_dentry() 92 __affs_compare_dentry(struct dentry *dentry, struct qstr *a, struct qstr *b, toupper_t toupper) in __affs_compare_dentry() argument [all …]
|
/fs/autofs/ |
D | root.c | 22 static struct dentry *autofs_root_lookup(struct inode *,struct dentry *, struct nameidata *); 23 static int autofs_root_symlink(struct inode *,struct dentry *,const char *); 24 static int autofs_root_unlink(struct inode *,struct dentry *); 25 static int autofs_root_rmdir(struct inode *,struct dentry *); 26 static int autofs_root_mkdir(struct inode *,struct dentry *,int); 48 struct inode * inode = filp->f_path.dentry->d_inode; in autofs_root_readdir() 71 if (!ent->dentry || d_mountpoint(ent->dentry)) { in autofs_root_readdir() 85 static int try_to_fill_dentry(struct dentry *dentry, struct super_block *sb, struct autofs_sb_info … in try_to_fill_dentry() argument 91 if (!(ent = autofs_hash_lookup(&sbi->dirhash, &dentry->d_name))) { in try_to_fill_dentry() 93 if (status && dentry->d_inode) { in try_to_fill_dentry() [all …]
|
/fs/nfsd/ |
D | nfs4recover.c | 130 mutex_lock(&rec_dir.dentry->d_inode->i_mutex); in nfsd4_sync_rec_dir() 131 nfsd_sync_dir(rec_dir.dentry); in nfsd4_sync_rec_dir() 132 mutex_unlock(&rec_dir.dentry->d_inode->i_mutex); in nfsd4_sync_rec_dir() 140 struct dentry *dentry; in nfsd4_create_clid_dir() local 153 mutex_lock(&rec_dir.dentry->d_inode->i_mutex); in nfsd4_create_clid_dir() 155 dentry = lookup_one_len(dname, rec_dir.dentry, HEXDIR_LEN-1); in nfsd4_create_clid_dir() 156 if (IS_ERR(dentry)) { in nfsd4_create_clid_dir() 157 status = PTR_ERR(dentry); in nfsd4_create_clid_dir() 161 if (dentry->d_inode) { in nfsd4_create_clid_dir() 168 status = vfs_mkdir(rec_dir.dentry->d_inode, dentry, S_IRWXU); in nfsd4_create_clid_dir() [all …]
|
D | nfsfh.c | 39 static int nfsd_acceptable(void *expv, struct dentry *dentry) in nfsd_acceptable() argument 43 struct dentry *tdentry; in nfsd_acceptable() 44 struct dentry *parent; in nfsd_acceptable() 49 tdentry = dget(dentry); in nfsd_acceptable() 50 while (tdentry != exp->ex_path.dentry && !IS_ROOT(tdentry)) { in nfsd_acceptable() 62 if (tdentry != exp->ex_path.dentry) in nfsd_acceptable() 64 rv = (tdentry == exp->ex_path.dentry); in nfsd_acceptable() 125 struct dentry *dentry; in nfsd_set_fh_dentry() local 224 dentry = dget(exp->ex_path.dentry); in nfsd_set_fh_dentry() 226 dentry = exportfs_decode_fh(exp->ex_path.mnt, fid, in nfsd_set_fh_dentry() [all …]
|
/fs/ncpfs/ |
D | dir.c | 36 static int ncp_create(struct inode *, struct dentry *, int, struct nameidata *); 37 static struct dentry *ncp_lookup(struct inode *, struct dentry *, struct nameidata *); 38 static int ncp_unlink(struct inode *, struct dentry *); 39 static int ncp_mkdir(struct inode *, struct dentry *, int); 40 static int ncp_rmdir(struct inode *, struct dentry *); 41 static int ncp_rename(struct inode *, struct dentry *, 42 struct inode *, struct dentry *); 43 static int ncp_mknod(struct inode * dir, struct dentry *dentry, 46 extern int ncp_symlink(struct inode *, struct dentry *, const char *); 77 static int ncp_lookup_validate(struct dentry *, struct nameidata *); [all …]
|
/fs/configfs/ |
D | dir.c | 53 static void configfs_d_iput(struct dentry * dentry, in configfs_d_iput() argument 56 struct configfs_dirent * sd = dentry->d_fsdata; in configfs_d_iput() 59 BUG_ON(sd->s_dentry != dentry); in configfs_d_iput() 70 static int configfs_d_delete(struct dentry *dentry) in configfs_d_delete() argument 136 struct dentry * dentry, void * element, in configfs_make_dirent() argument 147 sd->s_dentry = dentry; in configfs_make_dirent() 148 if (dentry) { in configfs_make_dirent() 149 dentry->d_fsdata = configfs_get(sd); in configfs_make_dirent() 150 dentry->d_op = &configfs_dentry_ops; in configfs_make_dirent() 179 static int create_dir(struct config_item * k, struct dentry * p, in create_dir() [all …]
|
D | configfs_internal.h | 40 struct dentry * s_dentry; 64 extern int configfs_create(struct dentry *, int mode, int (*init)(struct inode *)); 70 struct dentry *, void *, umode_t, int); 73 extern int configfs_add_file(struct dentry *, const struct configfs_attribute *, int); 74 extern void configfs_hash_and_remove(struct dentry * dir, const char * name); 77 extern void configfs_drop_dentry(struct configfs_dirent *sd, struct dentry *parent); 78 extern int configfs_setattr(struct dentry *dentry, struct iattr *iattr); 91 extern int configfs_symlink(struct inode *dir, struct dentry *dentry, 93 extern int configfs_unlink(struct inode *dir, struct dentry *dentry); 101 struct dentry *parent, [all …]
|
/fs/ecryptfs/ |
D | inode.c | 37 static struct dentry *lock_parent(struct dentry *dentry) in lock_parent() argument 39 struct dentry *dir; in lock_parent() 41 dir = dget_parent(dentry); in lock_parent() 46 static void unlock_dir(struct dentry *dir) in unlock_dir() 65 struct dentry *dentry, int mode, in ecryptfs_create_underlying_file() argument 68 struct dentry *lower_dentry = ecryptfs_dentry_to_lower(dentry); in ecryptfs_create_underlying_file() 69 struct vfsmount *lower_mnt = ecryptfs_dentry_to_lower_mnt(dentry); in ecryptfs_create_underlying_file() 70 struct dentry *dentry_save; in ecryptfs_create_underlying_file() 74 dentry_save = nd->path.dentry; in ecryptfs_create_underlying_file() 76 nd->path.dentry = lower_dentry; in ecryptfs_create_underlying_file() [all …]
|
/fs/afs/ |
D | dir.c | 22 static struct dentry *afs_lookup(struct inode *dir, struct dentry *dentry, 26 static int afs_d_revalidate(struct dentry *dentry, struct nameidata *nd); 27 static int afs_d_delete(struct dentry *dentry); 28 static void afs_d_release(struct dentry *dentry); 31 static int afs_create(struct inode *dir, struct dentry *dentry, int mode, 33 static int afs_mkdir(struct inode *dir, struct dentry *dentry, int mode); 34 static int afs_rmdir(struct inode *dir, struct dentry *dentry); 35 static int afs_unlink(struct inode *dir, struct dentry *dentry); 36 static int afs_link(struct dentry *from, struct inode *dir, 37 struct dentry *dentry); [all …]
|
/fs/exportfs/ |
D | expfs.c | 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() [all …]
|
/fs/cifs/ |
D | cifsfs.h | 40 extern int cifs_create(struct inode *, struct dentry *, int, 42 extern struct dentry *cifs_lookup(struct inode *, struct dentry *, 44 extern int cifs_unlink(struct inode *dir, struct dentry *dentry); 45 extern int cifs_hardlink(struct dentry *, struct inode *, struct dentry *); 46 extern int cifs_mknod(struct inode *, struct dentry *, int, dev_t); 47 extern int cifs_mkdir(struct inode *, struct dentry *, int); 48 extern int cifs_rmdir(struct inode *, struct dentry *); 49 extern int cifs_rename(struct inode *, struct dentry *, struct inode *, 50 struct dentry *); 51 extern int cifs_revalidate(struct dentry *); [all …]
|
/fs/sysv/ |
D | namei.c | 18 static int add_nondir(struct dentry *dentry, struct inode *inode) in add_nondir() argument 20 int err = sysv_add_link(dentry, inode); in add_nondir() 22 d_instantiate(dentry, inode); in add_nondir() 30 static int sysv_hash(struct dentry *dentry, struct qstr *qstr) in sysv_hash() argument 45 static struct dentry *sysv_lookup(struct inode * dir, struct dentry * dentry, struct nameidata *nd) in sysv_lookup() argument 50 dentry->d_op = dir->i_sb->s_root->d_op; in sysv_lookup() 51 if (dentry->d_name.len > SYSV_NAMELEN) in sysv_lookup() 53 ino = sysv_inode_by_name(dentry); in sysv_lookup() 60 d_add(dentry, inode); in sysv_lookup() 64 static int sysv_mknod(struct inode * dir, struct dentry * dentry, int mode, dev_t rdev) in sysv_mknod() argument [all …]
|
/fs/reiserfs/ |
D | xattr.c | 61 static struct dentry *get_xa_root(struct super_block *sb, int flags) in get_xa_root() 63 struct dentry *privroot = dget(REISERFS_SB(sb)->priv_root); in get_xa_root() 64 struct dentry *xaroot; in get_xa_root() 101 static struct dentry *open_xa_dir(const struct inode *inode, int flags) in open_xa_dir() 103 struct dentry *xaroot, *xadir; in open_xa_dir() 149 static struct dentry *get_xa_file_dentry(const struct inode *inode, in get_xa_file_dentry() 152 struct dentry *xadir, *xafile; in get_xa_file_dentry() 419 struct dentry *dentry; in reiserfs_xattr_set() local 437 dentry = get_xa_file_dentry(inode, name, flags); in reiserfs_xattr_set() 438 if (IS_ERR(dentry)) { in reiserfs_xattr_set() [all …]
|
/fs/minix/ |
D | namei.c | 9 static int add_nondir(struct dentry *dentry, struct inode *inode) in add_nondir() argument 11 int err = minix_add_link(dentry, inode); in add_nondir() 13 d_instantiate(dentry, inode); in add_nondir() 21 static struct dentry *minix_lookup(struct inode * dir, struct dentry *dentry, struct nameidata *nd) in minix_lookup() argument 26 dentry->d_op = dir->i_sb->s_root->d_op; in minix_lookup() 28 if (dentry->d_name.len > minix_sb(dir->i_sb)->s_namelen) in minix_lookup() 31 ino = minix_inode_by_name(dentry); in minix_lookup() 37 d_add(dentry, inode); in minix_lookup() 41 static int minix_mknod(struct inode * dir, struct dentry *dentry, int mode, dev_t rdev) in minix_mknod() argument 55 error = add_nondir(dentry, inode); in minix_mknod() [all …]
|