Lines Matching refs:bp
69 struct buf *bp; in physio() local
79 bp = pool_get(&bufpool, PR_WAITOK | PR_ZERO); in physio()
82 bp->b_vnbufs.le_next = NOLIST; in physio()
83 bp->b_dev = dev; in physio()
84 bp->b_error = 0; in physio()
85 bp->b_proc = p; in physio()
86 bp->b_flags = B_BUSY; in physio()
106 CLR(bp->b_flags, B_DONE | B_ERROR); in physio()
107 bp->b_flags |= (B_BUSY | B_PHYS | B_RAW | flags); in physio()
110 bp->b_blkno = btodb(uio->uio_offset); in physio()
119 bp->b_bcount = LONG_MAX; in physio()
121 bp->b_bcount = iovp->iov_len; in physio()
128 (*minphys)(bp); in physio()
129 todo = bp->b_bcount; in physio()
145 bp->b_data = map; in physio()
147 bp->b_data = iovp->iov_base; in physio()
148 vmapbuf(bp, todo); in physio()
152 (*strategy)(bp); in physio()
165 while ((bp->b_flags & B_DONE) == 0) in physio()
166 tsleep_nsec(bp, PRIBIO + 1, "physio", INFSLP); in physio()
169 bp->b_flags |= B_BUSY; in physio()
179 vunmapbuf(bp, todo); in physio()
183 if (bp->b_flags & B_ERROR) in physio()
184 error = (bp->b_error ? bp->b_error : EIO); in physio()
190 KASSERTMSG(bp->b_resid <= LONG_MAX, "strategy broken"); in physio()
191 done = bp->b_bcount - bp->b_resid; in physio()
214 if (bp->b_vp) in physio()
215 brelvp(bp); in physio()
217 pool_put(&bufpool, bp); in physio()
232 minphys(struct buf *bp) in minphys() argument
235 if (bp->b_bcount > MAXPHYS) in minphys()
236 bp->b_bcount = MAXPHYS; in minphys()