Lines Matching defs:mbp
2074 buf_t *mbp = bp->b_private;
2079 KASSERT(mbp != bp);
2086 * propagate these conditions to mbp.
2094 nestiobuf_done(mbp, donebytes, error);
2100 * => 'mbp' is a "master" buffer which is being divided into sub pieces.
2107 nestiobuf_setup(buf_t *mbp, buf_t *bp, int offset, size_t size)
2109 const int b_pass = mbp->b_flags & (B_READ|B_PHYS|B_RAW|B_MEDIA_FLAGS);
2110 struct vnode *vp = mbp->b_vp;
2112 KASSERT(mbp->b_bcount >= offset + size);
2114 bp->b_dev = mbp->b_dev;
2115 bp->b_objlock = mbp->b_objlock;
2119 bp->b_data = (char *)mbp->b_data + offset;
2122 bp->b_private = mbp;
2123 BIO_COPYPRIO(bp, mbp);
2134 * => 'donebytes' specifies how many bytes in the 'mbp' is completed.
2139 nestiobuf_done(buf_t *mbp, int donebytes, int error)
2145 mutex_enter(mbp->b_objlock);
2146 KASSERT(mbp->b_resid >= donebytes);
2147 mbp->b_resid -= donebytes;
2149 mbp->b_error = error;
2150 if (mbp->b_resid == 0) {
2151 if (mbp->b_error)
2152 mbp->b_resid = mbp->b_bcount;
2153 mutex_exit(mbp->b_objlock);
2154 biodone(mbp);
2156 mutex_exit(mbp->b_objlock);