• Home
  • Raw
  • Download

Lines Matching refs:entry

41 static inline void fuse_dentry_settime(struct dentry *entry, u64 time)  in fuse_dentry_settime()  argument
43 entry->d_time = time; in fuse_dentry_settime()
46 static inline u64 fuse_dentry_time(struct dentry *entry) in fuse_dentry_time() argument
48 return entry->d_time; in fuse_dentry_time()
54 static void fuse_dentry_settime(struct dentry *entry, u64 time) in fuse_dentry_settime() argument
56 entry->d_time = time; in fuse_dentry_settime()
57 entry->d_fsdata = (void *) (unsigned long) (time >> 32); in fuse_dentry_settime()
60 static u64 fuse_dentry_time(struct dentry *entry) in fuse_dentry_time() argument
62 return (u64) entry->d_time + in fuse_dentry_time()
63 ((u64) (unsigned long) entry->d_fsdata << 32); in fuse_dentry_time()
89 static void fuse_change_entry_timeout(struct dentry *entry, in fuse_change_entry_timeout() argument
92 fuse_dentry_settime(entry, in fuse_change_entry_timeout()
133 void fuse_invalidate_entry_cache(struct dentry *entry) in fuse_invalidate_entry_cache() argument
135 fuse_dentry_settime(entry, 0); in fuse_invalidate_entry_cache()
142 static void fuse_invalidate_entry(struct dentry *entry) in fuse_invalidate_entry() argument
144 d_invalidate(entry); in fuse_invalidate_entry()
145 fuse_invalidate_entry_cache(entry); in fuse_invalidate_entry()
187 static int fuse_dentry_revalidate(struct dentry *entry, unsigned int flags) in fuse_dentry_revalidate() argument
195 inode = d_inode_rcu(entry); in fuse_dentry_revalidate()
198 else if (time_before64(fuse_dentry_time(entry), get_jiffies_64()) || in fuse_dentry_revalidate()
222 parent = dget_parent(entry); in fuse_dentry_revalidate()
224 &entry->d_name, &outarg); in fuse_dentry_revalidate()
250 fuse_change_entry_timeout(entry, &outarg); in fuse_dentry_revalidate()
257 parent = dget_parent(entry); in fuse_dentry_revalidate()
387 static struct dentry *fuse_lookup(struct inode *dir, struct dentry *entry, in fuse_lookup() argument
396 err = fuse_lookup_name(dir->i_sb, get_node_id(dir), &entry->d_name, in fuse_lookup()
409 newent = d_splice_alias(inode, entry); in fuse_lookup()
414 entry = newent ? newent : entry; in fuse_lookup()
416 fuse_change_entry_timeout(entry, &outarg); in fuse_lookup()
418 fuse_invalidate_entry_cache(entry); in fuse_lookup()
435 static int fuse_create_open(struct inode *dir, struct dentry *entry, in fuse_create_open() argument
476 args.in.args[1].size = entry->d_name.len + 1; in fuse_create_open()
477 args.in.args[1].value = entry->d_name.name; in fuse_create_open()
505 d_instantiate(entry, inode); in fuse_create_open()
506 fuse_change_entry_timeout(entry, &outentry); in fuse_create_open()
508 err = finish_open(file, entry, generic_file_open, opened); in fuse_create_open()
526 static int fuse_atomic_open(struct inode *dir, struct dentry *entry, in fuse_atomic_open() argument
534 if (d_unhashed(entry)) { in fuse_atomic_open()
535 res = fuse_lookup(dir, entry, 0); in fuse_atomic_open()
540 entry = res; in fuse_atomic_open()
543 if (!(flags & O_CREAT) || d_really_is_positive(entry)) in fuse_atomic_open()
552 err = fuse_create_open(dir, entry, file, flags, mode, opened); in fuse_atomic_open()
562 err = fuse_mknod(dir, entry, mode, 0); in fuse_atomic_open()
573 struct inode *dir, struct dentry *entry, in create_new_entry() argument
609 err = d_instantiate_no_diralias(entry, inode); in create_new_entry()
613 fuse_change_entry_timeout(entry, &outarg); in create_new_entry()
622 static int fuse_mknod(struct inode *dir, struct dentry *entry, umode_t mode, in fuse_mknod() argument
640 args.in.args[1].size = entry->d_name.len + 1; in fuse_mknod()
641 args.in.args[1].value = entry->d_name.name; in fuse_mknod()
642 return create_new_entry(fc, &args, dir, entry, mode); in fuse_mknod()
645 static int fuse_create(struct inode *dir, struct dentry *entry, umode_t mode, in fuse_create() argument
648 return fuse_mknod(dir, entry, mode, 0); in fuse_create()
651 static int fuse_mkdir(struct inode *dir, struct dentry *entry, umode_t mode) in fuse_mkdir() argument
667 args.in.args[1].size = entry->d_name.len + 1; in fuse_mkdir()
668 args.in.args[1].value = entry->d_name.name; in fuse_mkdir()
669 return create_new_entry(fc, &args, dir, entry, S_IFDIR); in fuse_mkdir()
672 static int fuse_symlink(struct inode *dir, struct dentry *entry, in fuse_symlink() argument
681 args.in.args[0].size = entry->d_name.len + 1; in fuse_symlink()
682 args.in.args[0].value = entry->d_name.name; in fuse_symlink()
685 return create_new_entry(fc, &args, dir, entry, S_IFLNK); in fuse_symlink()
696 static int fuse_unlink(struct inode *dir, struct dentry *entry) in fuse_unlink() argument
705 args.in.args[0].size = entry->d_name.len + 1; in fuse_unlink()
706 args.in.args[0].value = entry->d_name.name; in fuse_unlink()
709 struct inode *inode = d_inode(entry); in fuse_unlink()
725 fuse_invalidate_entry_cache(entry); in fuse_unlink()
728 fuse_invalidate_entry(entry); in fuse_unlink()
732 static int fuse_rmdir(struct inode *dir, struct dentry *entry) in fuse_rmdir() argument
741 args.in.args[0].size = entry->d_name.len + 1; in fuse_rmdir()
742 args.in.args[0].value = entry->d_name.name; in fuse_rmdir()
745 clear_nlink(d_inode(entry)); in fuse_rmdir()
747 fuse_invalidate_entry_cache(entry); in fuse_rmdir()
749 fuse_invalidate_entry(entry); in fuse_rmdir()
839 static int fuse_link(struct dentry *entry, struct inode *newdir, in fuse_link() argument
844 struct inode *inode = d_inode(entry); in fuse_link()
996 struct dentry *entry; in fuse_reverse_inval_entry() local
1011 entry = d_lookup(dir, name); in fuse_reverse_inval_entry()
1013 if (!entry) in fuse_reverse_inval_entry()
1017 fuse_invalidate_entry(entry); in fuse_reverse_inval_entry()
1019 if (child_nodeid != 0 && d_really_is_positive(entry)) { in fuse_reverse_inval_entry()
1020 mutex_lock(&d_inode(entry)->i_mutex); in fuse_reverse_inval_entry()
1021 if (get_node_id(d_inode(entry)) != child_nodeid) { in fuse_reverse_inval_entry()
1025 if (d_mountpoint(entry)) { in fuse_reverse_inval_entry()
1029 if (d_is_dir(entry)) { in fuse_reverse_inval_entry()
1030 shrink_dcache_parent(entry); in fuse_reverse_inval_entry()
1031 if (!simple_empty(entry)) { in fuse_reverse_inval_entry()
1035 d_inode(entry)->i_flags |= S_DEAD; in fuse_reverse_inval_entry()
1037 dont_mount(entry); in fuse_reverse_inval_entry()
1038 clear_nlink(d_inode(entry)); in fuse_reverse_inval_entry()
1041 mutex_unlock(&d_inode(entry)->i_mutex); in fuse_reverse_inval_entry()
1043 d_delete(entry); in fuse_reverse_inval_entry()
1047 dput(entry); in fuse_reverse_inval_entry()
1778 static int fuse_setattr(struct dentry *entry, struct iattr *attr) in fuse_setattr() argument
1780 struct inode *inode = d_inode(entry); in fuse_setattr()
1801 kill = should_remove_suid(entry); in fuse_setattr()
1817 if (d_is_dir(entry) && (attr->ia_valid & ATTR_MODE)) in fuse_setattr()
1818 fuse_invalidate_entry_cache(entry); in fuse_setattr()
1823 static int fuse_getattr(struct vfsmount *mnt, struct dentry *entry, in fuse_getattr() argument
1826 struct inode *inode = d_inode(entry); in fuse_getattr()
1835 static int fuse_setxattr(struct dentry *entry, const char *name, in fuse_setxattr() argument
1838 struct inode *inode = d_inode(entry); in fuse_setxattr()
1871 static ssize_t fuse_getxattr(struct dentry *entry, const char *name, in fuse_getxattr() argument
1874 struct inode *inode = d_inode(entry); in fuse_getxattr()
1930 static ssize_t fuse_listxattr(struct dentry *entry, char *list, size_t size) in fuse_listxattr() argument
1932 struct inode *inode = d_inode(entry); in fuse_listxattr()
1974 static int fuse_removexattr(struct dentry *entry, const char *name) in fuse_removexattr() argument
1976 struct inode *inode = d_inode(entry); in fuse_removexattr()