Lines Matching defs:vp

117 static boolean_t incore(vnode_t vp, daddr64_t blkno);
123 static int buf_iterprepare(vnode_t vp, struct buflists *, int flags);
124 static void buf_itercomplete(vnode_t vp, struct buflists *, int flags);
152 static buf_t incore_locked(vnode_t vp, daddr64_t blkno, struct bufhashhdr *dp);
669 buf_setvnode(buf_t bp, vnode_t vp) {
671 bp->b_vp = vp;
968 buf_setdevice(buf_t bp, vnode_t vp) {
970 if ((vp->v_type != VBLK) && (vp->v_type != VCHR))
972 bp->b_dev = vp->v_rdev;
1127 vnode_t vp = buf_vnode(bp);
1202 if ((error = VNOP_BLOCKMAP(vp, f_offset, io_resid, &io_blkno, &io_contig_bytes, NULL, bmap_flags, NULL)))
1228 vnode_t vp = bp->b_vp;
1239 if (vp == NULL || vp->v_type == VCHR || vp->v_type == VBLK)
1269 if ((error = VNOP_BLKTOOFF(vp, bp->b_lblkno, &f_offset))) {
1277 if ((error = VNOP_BLOCKMAP(vp, f_offset, bp->b_bcount, &bp->b_blkno, &contig_bytes, NULL, bmap_flags, NULL))) {
1355 DTRACE_FSINFO(strategy, vnode_t, vp);
1362 buf_alloc(vnode_t vp)
1364 return(alloc_io_buf(vp, 0));
1375 * iterate buffers for the specified vp.
1388 buf_iterate(vnode_t vp, int (*callout)(buf_t, void *), int flags, void *arg)
1410 list[num_lists].listhead = &vp->v_dirtyblkhd;
1415 list[num_lists].listhead = &vp->v_cleanblkhd;
1422 if (buf_iterprepare(vp, &local_iterblkhd, list[i].flag)) {
1462 buf_itercomplete(vp, &local_iterblkhd, list[i].flag);
1472 buf_invalidateblks(vnode_t vp, int flags, int slpflag, int slptimeo)
1481 if (LIST_EMPTY(&vp->v_cleanblkhd) && LIST_EMPTY(&vp->v_dirtyblkhd))
1496 if (LIST_EMPTY(&vp->v_cleanblkhd) && LIST_EMPTY(&vp->v_dirtyblkhd))
1502 if (buf_iterprepare(vp, &local_iterblkhd, VBI_CLEAN)) {
1510 LIST_INSERT_HEAD(&vp->v_cleanblkhd, bp, b_vnbufs);
1544 buf_itercomplete(vp, &local_iterblkhd, VBI_CLEAN);
1568 buf_itercomplete(vp, &local_iterblkhd, VBI_CLEAN);
1574 if (buf_iterprepare(vp, &local_iterblkhd, VBI_DIRTY)) {
1581 LIST_INSERT_HEAD(&vp->v_dirtyblkhd, bp, b_vnbufs);
1615 buf_itercomplete(vp, &local_iterblkhd, VBI_DIRTY);
1642 buf_itercomplete(vp, &local_iterblkhd, VBI_DIRTY);
1650 buf_flushdirtyblks(vnode_t vp, int wait, int flags, const char *msg) {
1652 (void) buf_flushdirtyblks_skipinfo(vp, wait, flags, msg);
1657 buf_flushdirtyblks_skipinfo(vnode_t vp, int wait, int flags, const char *msg) {
1673 if (buf_iterprepare(vp, &local_iterblkhd, VBI_DIRTY) == 0) {
1677 LIST_INSERT_HEAD(&vp->v_dirtyblkhd, bp, b_vnbufs);
1706 if ((bp->b_vp == vp) || (wait == 0))
1714 buf_itercomplete(vp, &local_iterblkhd, VBI_DIRTY);
1719 (void)vnode_waitforwrites(vp, 0, 0, 0, msg);
1721 if (vp->v_dirtyblkhd.lh_first && busy) {
1734 (void)tsleep((caddr_t)&vp->v_numoutput,
1753 buf_iterprepare(vnode_t vp, struct buflists *iterheadp, int flags)
1758 listheadp = &vp->v_dirtyblkhd;
1760 listheadp = &vp->v_cleanblkhd;
1762 while (vp->v_iterblkflags & VBI_ITER) {
1763 vp->v_iterblkflags |= VBI_ITERWANT;
1764 msleep(&vp->v_iterblkflags, buf_mtxp, 0, "buf_iterprepare", NULL);
1770 vp->v_iterblkflags |= VBI_ITER;
1784 buf_itercomplete(vnode_t vp, struct buflists *iterheadp, int flags)
1790 listheadp = &vp->v_dirtyblkhd;
1792 listheadp = &vp->v_cleanblkhd;
1799 vp->v_iterblkflags &= ~VBI_ITER;
1801 if (vp->v_iterblkflags & VBI_ITERWANT) {
1802 vp->v_iterblkflags &= ~VBI_ITERWANT;
1803 wakeup(&vp->v_iterblkflags);
1854 bgetvp_locked(vnode_t vp, buf_t bp)
1857 if (bp->b_vp != vp)
1860 if (vp->v_type == VBLK || vp->v_type == VCHR)
1861 bp->b_dev = vp->v_rdev;
1867 bufinsvn(bp, &vp->v_cleanblkhd);
2082 bio_doread(vnode_t vp, daddr64_t blkno, int size, kauth_cred_t cred, int async, int queuetype)
2086 bp = buf_getblk(vp, blkno, size, 0, 0, queuetype);
2107 trace(TR_BREADMISS, pack(vp, size), blkno);
2128 trace(TR_BREADHIT, pack(vp, size), blkno);
2138 do_breadn_for_type(vnode_t vp, daddr64_t blkno, int size, daddr64_t *rablks, int *rasizes,
2144 bp = *bpp = bio_doread(vp, blkno, size, cred, 0, queuetype);
2151 if (incore(vp, rablks[i]))
2155 (void) bio_doread(vp, rablks[i], rasizes[i], cred, B_ASYNC, queuetype);
2168 buf_bread(vnode_t vp, daddr64_t blkno, int size, kauth_cred_t cred, buf_t *bpp)
2173 bp = *bpp = bio_doread(vp, blkno, size, cred, 0, BLK_READ);
2184 buf_meta_bread(vnode_t vp, daddr64_t blkno, int size, kauth_cred_t cred, buf_t *bpp)
2189 bp = *bpp = bio_doread(vp, blkno, size, cred, 0, BLK_META);
2199 buf_breadn(vnode_t vp, daddr64_t blkno, int size, daddr64_t *rablks, int *rasizes, int nrablks, kauth_cred_t cred, buf_t *bpp)
2201 return (do_breadn_for_type(vp, blkno, size, rablks, rasizes, nrablks, cred, bpp, BLK_READ));
2209 buf_meta_breadn(vnode_t vp, daddr64_t blkno, int size, daddr64_t *rablks, int *rasizes, int nrablks, kauth_cred_t cred, buf_t *bpp)
2211 return (do_breadn_for_type(vp, blkno, size, rablks, rasizes, nrablks, cred, bpp, BLK_META));
2223 vnode_t vp = bp->b_vp;
2245 buf_reassign(bp, vp);
2251 trace(TR_BUFWRITE, pack(vp, bp->b_bcount), bp->b_lblkno);
2255 OSAddAtomic(1, &vp->v_numoutput);
2271 buf_reassign(bp, vp);
2320 vnode_t vp = bp->b_vp;
2334 buf_reassign(bp, vp);
2358 (void)vnode_waitforwrites(vp, VNODE_ASYNC_THROTTLE, 0, 0, "buf_bdwrite");
2389 vnode_t vp = bp->b_vp;
2391 if (vp) {
2397 (void)vnode_waitforwrites(vp, VNODE_ASYNC_THROTTLE, 0, 0, (const char *)"buf_bawrite");
2398 else if (vp->v_numoutput >= VNODE_ASYNC_THROTTLE)
2658 panic("brelse: UPL set for non VREG; vp=%p", bp->b_vp);
2817 incore(vnode_t vp, daddr64_t blkno)
2822 dp = BUFHASH(vp, blkno);
2826 if (incore_locked(vp, blkno, dp))
2837 incore_locked(vnode_t vp, daddr64_t blkno, struct bufhashhdr *dp)
2843 if (bp->b_lblkno == blkno && bp->b_vp == vp &&
2853 buf_wait_for_shadow_io(vnode_t vp, daddr64_t blkno)
2858 dp = BUFHASH(vp, blkno);
2863 if ((bp = incore_locked(vp, blkno, dp)) == NULL)
2886 buf_getblk(vnode_t vp, daddr64_t blkno, int size, int slpflag, int slptimeo, int operation)
2903 dp = BUFHASH(vp, blkno);
2907 if ((bp = incore_locked(vp, blkno, dp))) {
2986 kret = ubc_create_upl(vp,
2987 ubc_blktooff(vp, bp->b_lblkno),
3032 if ((vnode_isreg(vp) == 0) || (UBCINFOEXISTS(vp) == 0) /*|| (vnode_issystem(vp) == 1)*/)
3045 if (incore_locked(vp, blkno, dp)) {
3067 bp->b_vp = vp;
3072 binshash(bp, BUFHASH(vp, blkno));
3074 bgetvp_locked(vp, bp);
3110 f_offset = ubc_blktooff(vp, blkno);
3113 kret = ubc_create_upl(vp,
3156 if (VNOP_BLOCKMAP(vp, f_offset, bp->b_bcount, &bp->b_blkno, &contig_bytes, NULL, bmap_flags, NULL))
3709 buf_invalblkno(vnode_t vp, daddr64_t lblkno, int flags)
3715 dp = BUFHASH(vp, lblkno);
3720 if ((bp = incore_locked(vp, lblkno, dp)) == (struct buf *)0) {
4118 alloc_io_buf(vnode_t vp, int priv)
4142 * is now private... the vp should have a reference
4163 bp->b_vp = vp;
4166 if (vp && (vp->v_type == VBLK || vp->v_type == VCHR))
4167 bp->b_dev = vp->v_rdev;
4329 vnode_t vp = bp->b_vp;
4333 if ( !UBCINFOEXISTS(vp) || bp->b_bufsize == 0)
4346 kret = ubc_create_upl(vp,
4347 ubc_blktooff(vp, bp->b_lblkno),
4439 * Remove from hash and dissociate from vp.