xio_buf
buf_init(&xbd_io->xio_buf);
xbd_io->xio_buf.b_flags = buf_flags;
xbd_io->xio_buf.b_cflags = 0;
xbd_io->xio_buf.b_oflags = 0;
xbd_io->xio_buf.b_iodone = xbdback_iodone;
xbd_io->xio_buf.b_proc = NULL;
xbd_io->xio_buf.b_vp = xbdi->xbdi_vp;
xbd_io->xio_buf.b_objlock = xbdi->xbdi_vp->v_interlock;
xbd_io->xio_buf.b_dev = xbdi->xbdi_dev;
xbd_io->xio_buf.b_blkno = req->sector_number;
xbd_io->xio_buf.b_bcount = bcount;
xbd_io->xio_buf.b_data = (void *)xbdi->xbdi_bouncebuf;
xbd_io->xio_buf.b_data = (void *)
xbd_io->xio_buf.b_private = xbd_io;
struct buf *bp = &xbd_io->xio_buf;
if ((xbd_io->xio_buf.b_flags & B_READ) == 0) {
mutex_enter(xbd_io->xio_buf.b_vp->v_interlock);
xbd_io->xio_buf.b_vp->v_numoutput++;
mutex_exit(xbd_io->xio_buf.b_vp->v_interlock);
bdev_strategy(&xbd_io->xio_buf);
KASSERT(bp == &xbd_io->xio_buf);
KASSERT(xbd_io->xio_buf.b_data == (void *)xbdi->xbdi_bouncebuf);
buf_destroy(&xbd_io->xio_buf);
struct buf xio_buf; /* our I/O */
#define xio_buf u.xio_rw.xio_buf