Lines Matching refs:vp
66 struct vnode *vp;
73 vp = ap->a_vp;
74 ip = VTOI(vp);
81 KASSERT(vp->v_type == VREG || vp->v_type == VDIR);
84 if (vp->v_type == VDIR)
85 return BUFRD(vp, uio, ioflag, ap->a_cred);
87 if (vp->v_type == VREG && ip->i_number == LFS_IFILE_INUM)
88 return BUFRD(vp, uio, ioflag, ap->a_cred);
98 KASSERT(vp->v_type == VREG);
102 genfs_directio(vp, uio, ioflag);
107 error = ubc_uiomove(&vp->v_uobj, uio, bytelen, advice,
108 UBC_READ | UBC_PARTIALOK | UBC_VNODE_FLAGS(vp));
114 error = ulfs_post_read_update(vp, ap->a_ioflag, error);
122 BUFRD(struct vnode *vp, struct uio *uio, int ioflag, kauth_cred_t cred)
132 KASSERT(VOP_ISLOCKED(vp));
133 KASSERT(vp->v_type == VDIR || vp->v_type == VLNK ||
134 vp->v_type == VREG);
137 ip = VTOI(vp);
141 KASSERT(vp->v_type != VLNK || ip->i_size >= fs->um_maxsymlinklen);
142 KASSERT(vp->v_type != VLNK || fs->um_maxsymlinklen != 0 ||
144 KASSERT(vp->v_type != VREG || vp == fs->lfs_ivnode);
145 KASSERT(vp->v_type != VREG || ip->i_number == LFS_IFILE_INUM);
168 error = bread(vp, lbn, size, 0, &bp);
171 error = breadn(vp, lbn,
199 error = ulfs_post_read_update(vp, ioflag, error);
204 ulfs_post_read_update(struct vnode *vp, int ioflag, int oerror)
206 struct inode *ip = VTOI(vp);
209 if (!(vp->v_mount->mnt_flag & MNT_NOATIME)) {
212 error = lfs_update(vp, NULL, NULL, UPDATE_WAIT);
234 struct vnode *vp;
248 vp = ap->a_vp;
249 ip = VTOI(vp);
251 KASSERT(vp->v_size == ip->i_size);
253 KASSERT(vp->v_type == VREG);
266 if (vp == fs->lfs_ivnode)
272 async = vp->v_mount->mnt_flag & MNT_ASYNC;
278 KASSERT(vp->v_type == VREG);
282 lfs_check(vp, LFS_UNUSED_LBN, 0);
300 uvm_vnp_setwritesize(vp, eob);
301 error = ulfs_balloc_range(vp, osize, eob - osize, cred, aflag);
305 rw_enter(vp->v_uobj.vmobjlock, RW_WRITER);
306 VOP_PUTPAGES(vp, trunc_page(osize & lfs_sb_getbmask(fs)),
318 genfs_directio(vp, uio, ioflag);
337 if (!overwrite && (vp->v_vflag & VV_MAPPED) == 0 &&
351 if (vp->v_size < newoff) {
352 uvm_vnp_setwritesize(vp, newoff);
356 error = ulfs_balloc_range(vp, uio->uio_offset, bytelen,
361 genfs_node_wrlock(vp);
362 error = GOP_ALLOC(vp, uio->uio_offset, bytelen,
364 genfs_node_unlock(vp);
374 error = ubc_uiomove(&vp->v_uobj, uio, bytelen,
375 IO_ADV_DECODE(ioflag), ubc_flags | UBC_VNODE_FLAGS(vp));
384 if (vp->v_size < newoff) {
385 uvm_vnp_setsize(vp, newoff);
399 rw_enter(vp->v_uobj.vmobjlock, RW_WRITER);
400 error = VOP_PUTPAGES(vp, trunc_page(origoff & lfs_sb_getbmask(fs)),
406 error = ulfs_post_write_update(vp, uio, ioflag, cred, osize, resid,
416 BUFWR(struct vnode *vp, struct uio *uio, int ioflag, kauth_cred_t cred)
429 KASSERT(VOP_ISLOCKED(vp) == LK_EXCLUSIVE);
430 KASSERT(vp->v_type == VDIR || vp->v_type == VLNK);
431 KASSERT(vp->v_type != VDIR || ISSET(ioflag, IO_SYNC));
434 ip = VTOI(vp);
437 KASSERT(vp->v_size == ip->i_size);
443 KASSERT(vp != fs->lfs_ivnode);
452 KASSERT(vp->v_type != VREG);
455 lfs_check(vp, LFS_UNUSED_LBN, 0);
458 KASSERT(vp->v_uobj.uo_npages == 0);
468 error = lfs_reserve(fs, vp, NULL,
473 error = lfs_balloc(vp, uio->uio_offset, xfersize, cred, flags,
481 uvm_vnp_setsize(vp, ip->i_size);
499 lfs_reserve(fs, vp, NULL,
506 lfs_reserve(fs, vp, NULL,
510 error = ulfs_post_write_update(vp, uio, ioflag, cred, osize, resid,
517 ulfs_post_write_update(struct vnode *vp, struct uio *uio, int ioflag,
520 struct inode *ip = VTOI(vp);
525 if (vp->v_mount->mnt_flag & MNT_RELATIME)
536 KAUTH_VNODE_RETAIN_SUID, vp, NULL, EPERM) != 0) {
544 KAUTH_VNODE_RETAIN_SGID, vp, NULL, EPERM) != 0) {
556 (void) lfs_truncate(vp, osize, ioflag & IO_SYNC, cred);
560 error = lfs_update(vp, NULL, NULL, UPDATE_WAIT);
566 KASSERT(vp->v_size == ip->i_size);