Lines Matching refs:direntry
38 renew_parental_timestamps(struct dentry *direntry) in renew_parental_timestamps() argument
43 direntry->d_time = jiffies; in renew_parental_timestamps()
44 direntry = direntry->d_parent; in renew_parental_timestamps()
45 } while (!IS_ROOT(direntry)); in renew_parental_timestamps()
82 build_path_from_dentry(struct dentry *direntry) in build_path_from_dentry() argument
89 struct cifs_sb_info *cifs_sb = CIFS_SB(direntry->d_sb); in build_path_from_dentry()
102 for (temp = direntry; !IS_ROOT(temp);) { in build_path_from_dentry()
118 for (temp = direntry; !IS_ROOT(temp);) { in build_path_from_dentry()
174 check_name(struct dentry *direntry) in check_name() argument
176 struct cifs_sb_info *cifs_sb = CIFS_SB(direntry->d_sb); in check_name()
180 for (i = 0; i < direntry->d_name.len; i++) { in check_name()
181 if (direntry->d_name.name[i] == '\\') { in check_name()
194 cifs_do_create(struct inode *inode, struct dentry *direntry, unsigned int xid, in cifs_do_create() argument
214 full_path = build_path_from_dentry(direntry); in cifs_do_create()
406 d_drop(direntry); in cifs_do_create()
407 d_add(direntry, newinode); in cifs_do_create()
416 cifs_atomic_open(struct inode *inode, struct dentry *direntry, in cifs_atomic_open() argument
448 if (!d_unhashed(direntry)) in cifs_atomic_open()
451 res = cifs_lookup(inode, direntry, 0); in cifs_atomic_open()
458 rc = check_name(direntry); in cifs_atomic_open()
465 inode, direntry, direntry); in cifs_atomic_open()
481 rc = cifs_do_create(inode, direntry, xid, tlink, oflags, mode, in cifs_atomic_open()
492 rc = finish_open(file, direntry, generic_file_open, opened); in cifs_atomic_open()
524 int cifs_create(struct inode *inode, struct dentry *direntry, umode_t mode, in cifs_create() argument
544 inode, direntry, direntry); in cifs_create()
557 rc = cifs_do_create(inode, direntry, xid, tlink, oflags, mode, in cifs_create()
568 int cifs_mknod(struct inode *inode, struct dentry *direntry, umode_t mode, in cifs_mknod() argument
600 full_path = build_path_from_dentry(direntry); in cifs_mknod()
631 d_instantiate(direntry, newinode); in cifs_mknod()
695 d_drop(direntry); in cifs_mknod()
708 cifs_lookup(struct inode *parent_dir_inode, struct dentry *direntry, in cifs_lookup() argument
722 parent_dir_inode, direntry, direntry); in cifs_lookup()
734 rc = check_name(direntry); in cifs_lookup()
741 full_path = build_path_from_dentry(direntry); in cifs_lookup()
747 if (d_really_is_positive(direntry)) { in cifs_lookup()
753 full_path, d_inode(direntry)); in cifs_lookup()
764 d_add(direntry, newInode); in cifs_lookup()
767 renew_parental_timestamps(direntry); in cifs_lookup()
771 direntry->d_time = jiffies; in cifs_lookup()
772 d_add(direntry, NULL); in cifs_lookup()
789 cifs_d_revalidate(struct dentry *direntry, unsigned int flags) in cifs_d_revalidate() argument
794 if (d_really_is_positive(direntry)) { in cifs_d_revalidate()
795 if (cifs_revalidate_dentry(direntry)) in cifs_d_revalidate()
805 if (IS_AUTOMOUNT(d_inode(direntry)) && in cifs_d_revalidate()
806 !(direntry->d_flags & DCACHE_NEED_AUTOMOUNT)) { in cifs_d_revalidate()
807 spin_lock(&direntry->d_lock); in cifs_d_revalidate()
808 direntry->d_flags |= DCACHE_NEED_AUTOMOUNT; in cifs_d_revalidate()
809 spin_unlock(&direntry->d_lock); in cifs_d_revalidate()
831 if (time_after(jiffies, direntry->d_time + HZ) || !lookupCacheEnabled) in cifs_d_revalidate()