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()
249 fuse_change_entry_timeout(entry, &outarg); in fuse_dentry_revalidate()
256 parent = dget_parent(entry); in fuse_dentry_revalidate()
335 static struct dentry *fuse_lookup(struct inode *dir, struct dentry *entry, in fuse_lookup() argument
344 err = fuse_lookup_name(dir->i_sb, get_node_id(dir), &entry->d_name, in fuse_lookup()
357 newent = d_splice_alias(inode, entry); in fuse_lookup()
362 entry = newent ? newent : entry; in fuse_lookup()
364 fuse_change_entry_timeout(entry, &outarg); in fuse_lookup()
366 fuse_invalidate_entry_cache(entry); in fuse_lookup()
383 static int fuse_create_open(struct inode *dir, struct dentry *entry, in fuse_create_open() argument
424 args.in.args[1].size = entry->d_name.len + 1; in fuse_create_open()
425 args.in.args[1].value = entry->d_name.name; in fuse_create_open()
452 d_instantiate(entry, inode); in fuse_create_open()
453 fuse_change_entry_timeout(entry, &outentry); in fuse_create_open()
455 err = finish_open(file, entry, generic_file_open, opened); in fuse_create_open()
473 static int fuse_atomic_open(struct inode *dir, struct dentry *entry, in fuse_atomic_open() argument
481 if (d_unhashed(entry)) { in fuse_atomic_open()
482 res = fuse_lookup(dir, entry, 0); in fuse_atomic_open()
487 entry = res; in fuse_atomic_open()
490 if (!(flags & O_CREAT) || d_really_is_positive(entry)) in fuse_atomic_open()
499 err = fuse_create_open(dir, entry, file, flags, mode, opened); in fuse_atomic_open()
509 err = fuse_mknod(dir, entry, mode, 0); in fuse_atomic_open()
520 struct inode *dir, struct dentry *entry, in create_new_entry() argument
556 err = d_instantiate_no_diralias(entry, inode); in create_new_entry()
560 fuse_change_entry_timeout(entry, &outarg); in create_new_entry()
569 static int fuse_mknod(struct inode *dir, struct dentry *entry, umode_t mode, in fuse_mknod() argument
587 args.in.args[1].size = entry->d_name.len + 1; in fuse_mknod()
588 args.in.args[1].value = entry->d_name.name; in fuse_mknod()
589 return create_new_entry(fc, &args, dir, entry, mode); in fuse_mknod()
592 static int fuse_create(struct inode *dir, struct dentry *entry, umode_t mode, in fuse_create() argument
595 return fuse_mknod(dir, entry, mode, 0); in fuse_create()
598 static int fuse_mkdir(struct inode *dir, struct dentry *entry, umode_t mode) in fuse_mkdir() argument
614 args.in.args[1].size = entry->d_name.len + 1; in fuse_mkdir()
615 args.in.args[1].value = entry->d_name.name; in fuse_mkdir()
616 return create_new_entry(fc, &args, dir, entry, S_IFDIR); in fuse_mkdir()
619 static int fuse_symlink(struct inode *dir, struct dentry *entry, in fuse_symlink() argument
628 args.in.args[0].size = entry->d_name.len + 1; in fuse_symlink()
629 args.in.args[0].value = entry->d_name.name; in fuse_symlink()
632 return create_new_entry(fc, &args, dir, entry, S_IFLNK); in fuse_symlink()
643 static int fuse_unlink(struct inode *dir, struct dentry *entry) in fuse_unlink() argument
652 args.in.args[0].size = entry->d_name.len + 1; in fuse_unlink()
653 args.in.args[0].value = entry->d_name.name; in fuse_unlink()
656 struct inode *inode = d_inode(entry); in fuse_unlink()
672 fuse_invalidate_entry_cache(entry); in fuse_unlink()
675 fuse_invalidate_entry(entry); in fuse_unlink()
679 static int fuse_rmdir(struct inode *dir, struct dentry *entry) in fuse_rmdir() argument
688 args.in.args[0].size = entry->d_name.len + 1; in fuse_rmdir()
689 args.in.args[0].value = entry->d_name.name; in fuse_rmdir()
692 clear_nlink(d_inode(entry)); in fuse_rmdir()
694 fuse_invalidate_entry_cache(entry); in fuse_rmdir()
696 fuse_invalidate_entry(entry); in fuse_rmdir()
786 static int fuse_link(struct dentry *entry, struct inode *newdir, in fuse_link() argument
791 struct inode *inode = d_inode(entry); in fuse_link()
941 struct dentry *entry; in fuse_reverse_inval_entry() local
956 entry = d_lookup(dir, name); in fuse_reverse_inval_entry()
958 if (!entry) in fuse_reverse_inval_entry()
962 fuse_invalidate_entry(entry); in fuse_reverse_inval_entry()
964 if (child_nodeid != 0 && d_really_is_positive(entry)) { in fuse_reverse_inval_entry()
965 mutex_lock(&d_inode(entry)->i_mutex); in fuse_reverse_inval_entry()
966 if (get_node_id(d_inode(entry)) != child_nodeid) { in fuse_reverse_inval_entry()
970 if (d_mountpoint(entry)) { in fuse_reverse_inval_entry()
974 if (d_is_dir(entry)) { in fuse_reverse_inval_entry()
975 shrink_dcache_parent(entry); in fuse_reverse_inval_entry()
976 if (!simple_empty(entry)) { in fuse_reverse_inval_entry()
980 d_inode(entry)->i_flags |= S_DEAD; in fuse_reverse_inval_entry()
982 dont_mount(entry); in fuse_reverse_inval_entry()
983 clear_nlink(d_inode(entry)); in fuse_reverse_inval_entry()
986 mutex_unlock(&d_inode(entry)->i_mutex); in fuse_reverse_inval_entry()
988 d_delete(entry); in fuse_reverse_inval_entry()
992 dput(entry); in fuse_reverse_inval_entry()
1697 static int fuse_setattr(struct dentry *entry, struct iattr *attr) in fuse_setattr() argument
1699 struct inode *inode = d_inode(entry); in fuse_setattr()
1710 static int fuse_getattr(struct vfsmount *mnt, struct dentry *entry, in fuse_getattr() argument
1713 struct inode *inode = d_inode(entry); in fuse_getattr()
1722 static int fuse_setxattr(struct dentry *entry, const char *name, in fuse_setxattr() argument
1725 struct inode *inode = d_inode(entry); in fuse_setxattr()
1758 static ssize_t fuse_getxattr(struct dentry *entry, const char *name, in fuse_getxattr() argument
1761 struct inode *inode = d_inode(entry); in fuse_getxattr()
1800 static ssize_t fuse_listxattr(struct dentry *entry, char *list, size_t size) in fuse_listxattr() argument
1802 struct inode *inode = d_inode(entry); in fuse_listxattr()
1842 static int fuse_removexattr(struct dentry *entry, const char *name) in fuse_removexattr() argument
1844 struct inode *inode = d_inode(entry); in fuse_removexattr()