Lines Matching full:vp
103 #define CACHED_ATTR_LOCK(vp) \ argument
105 ASSERT_VOP_LOCKED(vp, __func__); \
106 if (VOP_ISLOCKED(vp) != LK_EXCLUSIVE) \
107 mtx_lock(&VTOFUD(vp)->cached_attr_mtx); \
110 #define CACHED_ATTR_UNLOCK(vp) \ argument
112 ASSERT_VOP_LOCKED(vp, __func__); \
113 if (VOP_ISLOCKED(vp) != LK_EXCLUSIVE) \
114 mtx_unlock(&VTOFUD(vp)->cached_attr_mtx); \
189 #define VTOFUD(vp) \ argument
190 ((struct fuse_vnode_data *)((vp)->v_data))
191 #define VTOI(vp) (VTOFUD(vp)->nid) argument
193 #define ASSERT_CACHED_ATTRS_LOCKED(vp) \ argument
195 ASSERT_VOP_LOCKED(vp, __func__); \
196 VNASSERT(VOP_ISLOCKED(vp) == LK_EXCLUSIVE || \
197 mtx_owned(&VTOFUD(vp)->cached_attr_mtx), vp, \
202 fuse_vnode_attr_cache_valid(struct vnode *vp) in fuse_vnode_attr_cache_valid() argument
204 struct fuse_vnode_data *fvdat = VTOFUD(vp); in fuse_vnode_attr_cache_valid()
207 ASSERT_CACHED_ATTRS_LOCKED(vp); in fuse_vnode_attr_cache_valid()
214 VTOVA(struct vnode *vp) in VTOVA() argument
216 ASSERT_CACHED_ATTRS_LOCKED(vp); in VTOVA()
218 if (fuse_vnode_attr_cache_valid(vp)) in VTOVA()
219 return &(VTOFUD(vp)->cached_attrs); in VTOVA()
225 fuse_vnode_clear_attr_cache(struct vnode *vp) in fuse_vnode_clear_attr_cache() argument
227 ASSERT_CACHED_ATTRS_LOCKED(vp); in fuse_vnode_clear_attr_cache()
229 bintime_clear(&VTOFUD(vp)->attr_cache_timeout); in fuse_vnode_clear_attr_cache()
238 #define VTOILLU(vp) ((uint64_t)(VTOFUD(vp) ? VTOI(vp) : 0)) argument
245 int fuse_vnode_cmp(struct vnode *vp, void *nidp);
248 fuse_vnode_setparent(struct vnode *vp, struct vnode *dvp) in fuse_vnode_setparent() argument
250 if (dvp != NULL && vp->v_type == VDIR) { in fuse_vnode_setparent()
251 ASSERT_VOP_ELOCKED(vp, __func__); /* for parent_nid */ in fuse_vnode_setparent()
254 VTOFUD(vp)->parent_nid = VTOI(dvp); in fuse_vnode_setparent()
255 VTOFUD(vp)->flag |= FN_PARENT_NID; in fuse_vnode_setparent()
257 ASSERT_CACHED_ATTRS_LOCKED(vp); in fuse_vnode_setparent()
259 VTOFUD(vp)->flag &= ~FN_PARENT_NID; in fuse_vnode_setparent()
263 int fuse_vnode_size(struct vnode *vp, off_t *filesize, struct ucred *cred,
266 void fuse_vnode_destroy(struct vnode *vp);
272 void fuse_vnode_open(struct vnode *vp, int32_t fuse_open_flags,
275 int fuse_vnode_savesize(struct vnode *vp, struct ucred *cred, pid_t pid);
277 int fuse_vnode_setsize(struct vnode *vp, off_t newsize, bool from_server);
278 int fuse_vnode_setsize_immediate(struct vnode *vp, bool shrink);
280 void fuse_vnode_undirty_cached_timestamps(struct vnode *vp, bool atime);
282 void fuse_vnode_update(struct vnode *vp, int flags);