Lines Matching refs:direntry
38 renew_parental_timestamps(struct dentry *direntry) in renew_parental_timestamps() argument
43 cifs_set_time(direntry, jiffies); in renew_parental_timestamps()
44 direntry = direntry->d_parent; in renew_parental_timestamps()
45 } while (!IS_ROOT(direntry)); in renew_parental_timestamps()
81 build_path_from_dentry(struct dentry *direntry) in build_path_from_dentry() argument
83 struct cifs_sb_info *cifs_sb = CIFS_SB(direntry->d_sb); in build_path_from_dentry()
87 return build_path_from_dentry_optional_prefix(direntry, in build_path_from_dentry()
92 build_path_from_dentry_optional_prefix(struct dentry *direntry, bool prefix) in build_path_from_dentry_optional_prefix() argument
100 struct cifs_sb_info *cifs_sb = CIFS_SB(direntry->d_sb); in build_path_from_dentry_optional_prefix()
117 for (temp = direntry; !IS_ROOT(temp);) { in build_path_from_dentry_optional_prefix()
133 for (temp = direntry; !IS_ROOT(temp);) { in build_path_from_dentry_optional_prefix()
201 check_name(struct dentry *direntry, struct cifs_tcon *tcon) in check_name() argument
203 struct cifs_sb_info *cifs_sb = CIFS_SB(direntry->d_sb); in check_name()
207 direntry->d_name.len > in check_name()
212 for (i = 0; i < direntry->d_name.len; i++) { in check_name()
213 if (direntry->d_name.name[i] == '\\') { in check_name()
226 cifs_do_create(struct inode *inode, struct dentry *direntry, unsigned int xid, in cifs_do_create() argument
246 full_path = build_path_from_dentry(direntry); in cifs_do_create()
445 d_drop(direntry); in cifs_do_create()
446 d_add(direntry, newinode); in cifs_do_create()
462 cifs_atomic_open(struct inode *inode, struct dentry *direntry, in cifs_atomic_open() argument
493 if (!d_in_lookup(direntry)) in cifs_atomic_open()
496 res = cifs_lookup(inode, direntry, 0); in cifs_atomic_open()
506 inode, direntry, direntry); in cifs_atomic_open()
516 rc = check_name(direntry, tcon); in cifs_atomic_open()
527 rc = cifs_do_create(inode, direntry, xid, tlink, oflags, mode, in cifs_atomic_open()
538 rc = finish_open(file, direntry, generic_file_open); in cifs_atomic_open()
569 int cifs_create(struct inode *inode, struct dentry *direntry, umode_t mode, in cifs_create() argument
589 inode, direntry, direntry); in cifs_create()
602 rc = cifs_do_create(inode, direntry, xid, tlink, oflags, mode, in cifs_create()
613 int cifs_mknod(struct inode *inode, struct dentry *direntry, umode_t mode, in cifs_mknod() argument
635 full_path = build_path_from_dentry(direntry); in cifs_mknod()
641 rc = tcon->ses->server->ops->make_node(xid, inode, direntry, tcon, in cifs_mknod()
653 cifs_lookup(struct inode *parent_dir_inode, struct dentry *direntry, in cifs_lookup() argument
667 parent_dir_inode, direntry, direntry); in cifs_lookup()
679 rc = check_name(direntry, pTcon); in cifs_lookup()
689 full_path = build_path_from_dentry(direntry); in cifs_lookup()
696 if (d_really_is_positive(direntry)) { in cifs_lookup()
702 full_path, d_inode(direntry)); in cifs_lookup()
717 renew_parental_timestamps(direntry); in cifs_lookup()
719 cifs_set_time(direntry, jiffies); in cifs_lookup()
732 return d_splice_alias(newInode, direntry); in cifs_lookup()
736 cifs_d_revalidate(struct dentry *direntry, unsigned int flags) in cifs_d_revalidate() argument
744 if (d_really_is_positive(direntry)) { in cifs_d_revalidate()
745 inode = d_inode(direntry); in cifs_d_revalidate()
749 rc = cifs_revalidate_dentry(direntry); in cifs_d_revalidate()
777 !(direntry->d_flags & DCACHE_NEED_AUTOMOUNT)) { in cifs_d_revalidate()
778 spin_lock(&direntry->d_lock); in cifs_d_revalidate()
779 direntry->d_flags |= DCACHE_NEED_AUTOMOUNT; in cifs_d_revalidate()
780 spin_unlock(&direntry->d_lock); in cifs_d_revalidate()
802 if (time_after(jiffies, cifs_get_time(direntry) + HZ) || !lookupCacheEnabled) in cifs_d_revalidate()