Lines Matching refs:fi
74 struct fuse_inode *fi; in fuse_alloc_inode() local
76 fi = kmem_cache_alloc(fuse_inode_cachep, GFP_KERNEL); in fuse_alloc_inode()
77 if (!fi) in fuse_alloc_inode()
80 fi->i_time = 0; in fuse_alloc_inode()
81 fi->inval_mask = 0; in fuse_alloc_inode()
82 fi->nodeid = 0; in fuse_alloc_inode()
83 fi->nlookup = 0; in fuse_alloc_inode()
84 fi->attr_version = 0; in fuse_alloc_inode()
85 fi->orig_ino = 0; in fuse_alloc_inode()
86 fi->state = 0; in fuse_alloc_inode()
87 mutex_init(&fi->mutex); in fuse_alloc_inode()
88 init_rwsem(&fi->i_mmap_sem); in fuse_alloc_inode()
89 spin_lock_init(&fi->lock); in fuse_alloc_inode()
90 fi->forget = fuse_alloc_forget(); in fuse_alloc_inode()
91 if (!fi->forget) in fuse_alloc_inode()
94 if (IS_ENABLED(CONFIG_FUSE_DAX) && !fuse_dax_inode_alloc(sb, fi)) in fuse_alloc_inode()
97 return &fi->inode; in fuse_alloc_inode()
100 kfree(fi->forget); in fuse_alloc_inode()
102 kmem_cache_free(fuse_inode_cachep, fi); in fuse_alloc_inode()
108 struct fuse_inode *fi = get_fuse_inode(inode); in fuse_free_inode() local
110 mutex_destroy(&fi->mutex); in fuse_free_inode()
111 kfree(fi->forget); in fuse_free_inode()
113 kfree(fi->dax); in fuse_free_inode()
115 kmem_cache_free(fuse_inode_cachep, fi); in fuse_free_inode()
120 struct fuse_inode *fi = get_fuse_inode(inode); in fuse_evict_inode() local
129 if (fi->nlookup) { in fuse_evict_inode()
130 fuse_queue_forget(fc, fi->forget, fi->nodeid, in fuse_evict_inode()
131 fi->nlookup); in fuse_evict_inode()
132 fi->forget = NULL; in fuse_evict_inode()
136 WARN_ON(!list_empty(&fi->write_files)); in fuse_evict_inode()
137 WARN_ON(!list_empty(&fi->queued_writes)); in fuse_evict_inode()
168 struct fuse_inode *fi = get_fuse_inode(inode); in fuse_change_attributes_common() local
170 lockdep_assert_held(&fi->lock); in fuse_change_attributes_common()
172 fi->attr_version = atomic64_inc_return(&fc->attr_version); in fuse_change_attributes_common()
173 fi->i_time = attr_valid; in fuse_change_attributes_common()
174 WRITE_ONCE(fi->inval_mask, 0); in fuse_change_attributes_common()
202 fi->orig_i_mode = inode->i_mode; in fuse_change_attributes_common()
206 fi->orig_ino = attr->ino; in fuse_change_attributes_common()
213 struct fuse_inode *fi = get_fuse_inode(inode); in fuse_change_attributes() local
218 spin_lock(&fi->lock); in fuse_change_attributes()
219 if ((attr_version != 0 && fi->attr_version > attr_version) || in fuse_change_attributes()
220 test_bit(FUSE_I_SIZE_UNSTABLE, &fi->state)) { in fuse_change_attributes()
221 spin_unlock(&fi->lock); in fuse_change_attributes()
236 spin_unlock(&fi->lock); in fuse_change_attributes()
309 struct fuse_inode *fi; in fuse_iget() local
350 fi = get_fuse_inode(inode); in fuse_iget()
351 spin_lock(&fi->lock); in fuse_iget()
352 fi->nlookup++; in fuse_iget()
353 spin_unlock(&fi->lock); in fuse_iget()
384 struct fuse_inode *fi; in fuse_reverse_inval_inode() local
393 fi = get_fuse_inode(inode); in fuse_reverse_inval_inode()
394 spin_lock(&fi->lock); in fuse_reverse_inval_inode()
395 fi->attr_version = atomic64_inc_return(&fc->attr_version); in fuse_reverse_inval_inode()
396 spin_unlock(&fi->lock); in fuse_reverse_inval_inode()
1236 const struct fuse_inode *fi) in fuse_fill_attr_from_inode() argument
1239 .ino = fi->inode.i_ino, in fuse_fill_attr_from_inode()
1240 .size = fi->inode.i_size, in fuse_fill_attr_from_inode()
1241 .blocks = fi->inode.i_blocks, in fuse_fill_attr_from_inode()
1242 .atime = fi->inode.i_atime.tv_sec, in fuse_fill_attr_from_inode()
1243 .mtime = fi->inode.i_mtime.tv_sec, in fuse_fill_attr_from_inode()
1244 .ctime = fi->inode.i_ctime.tv_sec, in fuse_fill_attr_from_inode()
1245 .atimensec = fi->inode.i_atime.tv_nsec, in fuse_fill_attr_from_inode()
1246 .mtimensec = fi->inode.i_mtime.tv_nsec, in fuse_fill_attr_from_inode()
1247 .ctimensec = fi->inode.i_ctime.tv_nsec, in fuse_fill_attr_from_inode()
1248 .mode = fi->inode.i_mode, in fuse_fill_attr_from_inode()
1249 .nlink = fi->inode.i_nlink, in fuse_fill_attr_from_inode()
1250 .uid = fi->inode.i_uid.val, in fuse_fill_attr_from_inode()
1251 .gid = fi->inode.i_gid.val, in fuse_fill_attr_from_inode()
1252 .rdev = fi->inode.i_rdev, in fuse_fill_attr_from_inode()
1253 .blksize = 1u << fi->inode.i_blkbits, in fuse_fill_attr_from_inode()