Lines Matching refs:direntry

28 renew_parental_timestamps(struct dentry *direntry)
33 cifs_set_time(direntry, jiffies);
34 direntry = direntry->d_parent;
35 } while (!IS_ROOT(direntry));
71 build_path_from_dentry(struct dentry *direntry, void *page)
73 struct cifs_sb_info *cifs_sb = CIFS_SB(direntry->d_sb);
77 return build_path_from_dentry_optional_prefix(direntry, page,
81 char *__build_path_from_dentry_optional_prefix(struct dentry *direntry, void *page,
87 struct cifs_sb_info *cifs_sb = CIFS_SB(direntry->d_sb);
102 s = dentry_path_raw(direntry, page, PATH_MAX);
137 char *build_path_from_dentry_optional_prefix(struct dentry *direntry, void *page,
140 struct cifs_sb_info *cifs_sb = CIFS_SB(direntry->d_sb);
143 return __build_path_from_dentry_optional_prefix(direntry, page, tcon->tree_name,
153 check_name(struct dentry *direntry, struct cifs_tcon *tcon)
155 struct cifs_sb_info *cifs_sb = CIFS_SB(direntry->d_sb);
159 direntry->d_name.len >
164 for (i = 0; i < direntry->d_name.len; i++) {
165 if (direntry->d_name.name[i] == '\\') {
177 static int cifs_do_create(struct inode *inode, struct dentry *direntry, unsigned int xid,
197 full_path = build_path_from_dentry(direntry, page);
402 d_drop(direntry);
403 d_add(direntry, newinode);
418 cifs_atomic_open(struct inode *inode, struct dentry *direntry,
453 if (!d_in_lookup(direntry))
456 res = cifs_lookup(inode, direntry, 0);
466 inode, direntry, direntry);
476 rc = check_name(direntry, tcon);
487 rc = cifs_do_create(inode, direntry, xid, tlink, oflags, mode,
497 rc = finish_open(file, direntry, generic_file_open);
534 struct dentry *direntry, umode_t mode, bool excl)
554 inode, direntry, direntry);
572 rc = cifs_do_create(inode, direntry, xid, tlink, oflags, mode, &oplock, &fid, &buf);
584 struct dentry *direntry, umode_t mode, dev_t device_number)
609 full_path = build_path_from_dentry(direntry, page);
615 rc = tcon->ses->server->ops->make_node(xid, inode, direntry, tcon,
627 cifs_lookup(struct inode *parent_dir_inode, struct dentry *direntry,
643 parent_dir_inode, direntry, direntry);
655 rc = check_name(direntry, pTcon);
666 full_path = build_path_from_dentry(direntry, page);
674 if (d_really_is_positive(direntry)) {
680 full_path, d_inode(direntry));
696 renew_parental_timestamps(direntry);
700 cifs_set_time(direntry, jiffies);
713 return d_splice_alias(newInode, direntry);
717 cifs_d_revalidate(struct dentry *direntry, unsigned int flags)
725 if (d_really_is_positive(direntry)) {
726 inode = d_inode(direntry);
730 rc = cifs_revalidate_dentry(direntry);
758 !(direntry->d_flags & DCACHE_NEED_AUTOMOUNT)) {
759 spin_lock(&direntry->d_lock);
760 direntry->d_flags |= DCACHE_NEED_AUTOMOUNT;
761 spin_unlock(&direntry->d_lock);
783 if (time_after(jiffies, cifs_get_time(direntry) + HZ) || !lookupCacheEnabled)
789 /* static int cifs_d_delete(struct dentry *direntry)
793 cifs_dbg(FYI, "In cifs d_delete, name = %pd\n", direntry);