Lines Matching refs:direntry
28 renew_parental_timestamps(struct dentry *direntry) in renew_parental_timestamps() argument
33 cifs_set_time(direntry, jiffies); in renew_parental_timestamps()
34 direntry = direntry->d_parent; in renew_parental_timestamps()
35 } while (!IS_ROOT(direntry)); in renew_parental_timestamps()
71 build_path_from_dentry(struct dentry *direntry, void *page) in build_path_from_dentry() argument
73 struct cifs_sb_info *cifs_sb = CIFS_SB(direntry->d_sb); in build_path_from_dentry()
77 return build_path_from_dentry_optional_prefix(direntry, page, in build_path_from_dentry()
81 char *__build_path_from_dentry_optional_prefix(struct dentry *direntry, void *page, in __build_path_from_dentry_optional_prefix() argument
87 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()
137 char *build_path_from_dentry_optional_prefix(struct dentry *direntry, void *page, in build_path_from_dentry_optional_prefix() argument
140 struct cifs_sb_info *cifs_sb = CIFS_SB(direntry->d_sb); in build_path_from_dentry_optional_prefix()
143 return __build_path_from_dentry_optional_prefix(direntry, page, tcon->tree_name, in build_path_from_dentry_optional_prefix()
153 check_name(struct dentry *direntry, struct cifs_tcon *tcon) in check_name() argument
155 struct cifs_sb_info *cifs_sb = CIFS_SB(direntry->d_sb); in check_name()
159 direntry->d_name.len > in check_name()
164 for (i = 0; i < direntry->d_name.len; i++) { in check_name()
165 if (direntry->d_name.name[i] == '\\') { in check_name()
177 static int cifs_do_create(struct inode *inode, struct dentry *direntry, unsigned int xid, argument
198 full_path = build_path_from_dentry(direntry, page);
417 d_drop(direntry);
418 d_add(direntry, newinode);
433 cifs_atomic_open(struct inode *inode, struct dentry *direntry, argument
468 if (!d_in_lookup(direntry))
471 res = cifs_lookup(inode, direntry, 0);
481 inode, direntry, direntry);
491 rc = check_name(direntry, tcon);
502 rc = cifs_do_create(inode, direntry, xid, tlink, oflags, mode,
512 rc = finish_open(file, direntry, generic_file_open);
549 struct dentry *direntry, umode_t mode, bool excl) argument
569 inode, direntry, direntry);
587 rc = cifs_do_create(inode, direntry, xid, tlink, oflags, mode, &oplock, &fid, &buf);
599 struct dentry *direntry, umode_t mode, dev_t device_number) argument
624 full_path = build_path_from_dentry(direntry, page);
632 rc = tcon->ses->server->ops->make_node(xid, inode, direntry, tcon,
649 cifs_lookup(struct inode *parent_dir_inode, struct dentry *direntry, argument
665 parent_dir_inode, direntry, direntry);
677 rc = check_name(direntry, pTcon);
688 full_path = build_path_from_dentry(direntry, page);
696 if (d_really_is_positive(direntry)) {
702 full_path, d_inode(direntry));
719 renew_parental_timestamps(direntry);
723 cifs_set_time(direntry, jiffies);
736 return d_splice_alias(newInode, direntry);
741 struct dentry *direntry, unsigned int flags) argument
749 if (d_really_is_positive(direntry)) {
750 inode = d_inode(direntry);
754 rc = cifs_revalidate_dentry(direntry);
782 !(direntry->d_flags & DCACHE_NEED_AUTOMOUNT)) {
783 spin_lock(&direntry->d_lock);
784 direntry->d_flags |= DCACHE_NEED_AUTOMOUNT;
785 spin_unlock(&direntry->d_lock);
807 if (time_after(jiffies, cifs_get_time(direntry) + HZ) || !lookupCacheEnabled)