Lines Matching refs:direntry

27 renew_parental_timestamps(struct dentry *direntry)  in renew_parental_timestamps()  argument
32 cifs_set_time(direntry, jiffies); in renew_parental_timestamps()
33 direntry = direntry->d_parent; in renew_parental_timestamps()
34 } while (!IS_ROOT(direntry)); in renew_parental_timestamps()
70 build_path_from_dentry(struct dentry *direntry, void *page) in build_path_from_dentry() argument
72 struct cifs_sb_info *cifs_sb = CIFS_SB(direntry->d_sb); in build_path_from_dentry()
76 return build_path_from_dentry_optional_prefix(direntry, page, in build_path_from_dentry()
81 build_path_from_dentry_optional_prefix(struct dentry *direntry, void *page, in build_path_from_dentry_optional_prefix() argument
86 struct cifs_sb_info *cifs_sb = CIFS_SB(direntry->d_sb); in build_path_from_dentry_optional_prefix()
102 s = dentry_path_raw(direntry, page, PATH_MAX); in build_path_from_dentry_optional_prefix()
143 check_name(struct dentry *direntry, struct cifs_tcon *tcon) in check_name() argument
145 struct cifs_sb_info *cifs_sb = CIFS_SB(direntry->d_sb); in check_name()
149 direntry->d_name.len > in check_name()
154 for (i = 0; i < direntry->d_name.len; i++) { in check_name()
155 if (direntry->d_name.name[i] == '\\') { in check_name()
168 cifs_do_create(struct inode *inode, struct dentry *direntry, unsigned int xid, in cifs_do_create() argument
189 full_path = build_path_from_dentry(direntry, page); in cifs_do_create()
392 d_drop(direntry); in cifs_do_create()
393 d_add(direntry, newinode); in cifs_do_create()
409 cifs_atomic_open(struct inode *inode, struct dentry *direntry, in cifs_atomic_open() argument
443 if (!d_in_lookup(direntry)) in cifs_atomic_open()
446 res = cifs_lookup(inode, direntry, 0); in cifs_atomic_open()
456 inode, direntry, direntry); in cifs_atomic_open()
466 rc = check_name(direntry, tcon); in cifs_atomic_open()
477 rc = cifs_do_create(inode, direntry, xid, tlink, oflags, mode, in cifs_atomic_open()
488 rc = finish_open(file, direntry, generic_file_open); in cifs_atomic_open()
520 struct dentry *direntry, umode_t mode, bool excl) in cifs_create() argument
539 inode, direntry, direntry); in cifs_create()
555 rc = cifs_do_create(inode, direntry, xid, tlink, oflags, mode, in cifs_create()
567 struct dentry *direntry, umode_t mode, dev_t device_number) in cifs_mknod() argument
592 full_path = build_path_from_dentry(direntry, page); in cifs_mknod()
598 rc = tcon->ses->server->ops->make_node(xid, inode, direntry, tcon, in cifs_mknod()
610 cifs_lookup(struct inode *parent_dir_inode, struct dentry *direntry, in cifs_lookup() argument
626 parent_dir_inode, direntry, direntry); in cifs_lookup()
638 rc = check_name(direntry, pTcon); in cifs_lookup()
649 full_path = build_path_from_dentry(direntry, page); in cifs_lookup()
657 if (d_really_is_positive(direntry)) { in cifs_lookup()
663 full_path, d_inode(direntry)); in cifs_lookup()
679 renew_parental_timestamps(direntry); in cifs_lookup()
683 cifs_set_time(direntry, jiffies); in cifs_lookup()
696 return d_splice_alias(newInode, direntry); in cifs_lookup()
700 cifs_d_revalidate(struct dentry *direntry, unsigned int flags) in cifs_d_revalidate() argument
708 if (d_really_is_positive(direntry)) { in cifs_d_revalidate()
709 inode = d_inode(direntry); in cifs_d_revalidate()
713 rc = cifs_revalidate_dentry(direntry); in cifs_d_revalidate()
741 !(direntry->d_flags & DCACHE_NEED_AUTOMOUNT)) { in cifs_d_revalidate()
742 spin_lock(&direntry->d_lock); in cifs_d_revalidate()
743 direntry->d_flags |= DCACHE_NEED_AUTOMOUNT; in cifs_d_revalidate()
744 spin_unlock(&direntry->d_lock); in cifs_d_revalidate()
766 if (time_after(jiffies, cifs_get_time(direntry) + HZ) || !lookupCacheEnabled) in cifs_d_revalidate()