On Thu, Nov 25, 2010 at 03:06:48PM +0900, Yoshiaki Tamura wrote: > event-tap controls when to start FT transaction, and provides proxy > functions to called from net/block devices. While FT transaction, it > queues up net/block requests, and flush them when the transaction gets > completed. > > Signed-off-by: Yoshiaki Tamura <tamura.yoshiaki@xxxxxxxxxxxxx> > Signed-off-by: OHMURA Kei <ohmura.kei@xxxxxxxxxxxxx> > +static void event_tap_alloc_blk_req(EventTapBlkReq *blk_req, > + BlockDriverState *bs, BlockRequest *reqs, > + int num_reqs, BlockDriverCompletionFunc *cb, > + void *opaque, bool is_multiwrite) > +{ > + int i; > + > + blk_req->num_reqs = num_reqs; > + blk_req->num_cbs = num_reqs; > + blk_req->device_name = qemu_strdup(bs->device_name); > + blk_req->is_multiwrite = is_multiwrite; > + > + for (i = 0; i < num_reqs; i++) { > + blk_req->reqs[i].sector = reqs[i].sector; > + blk_req->reqs[i].nb_sectors = reqs[i].nb_sectors; > + blk_req->reqs[i].qiov = reqs[i].qiov; > + blk_req->reqs[i].cb = cb; > + blk_req->reqs[i].opaque = opaque; > + blk_req->cb[i] = reqs[i].cb; > + blk_req->opaque[i] = reqs[i].opaque; > + } > +} bdrv_aio_flush should also be logged, so that guest initiated flush is respected on replay. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html