|
@@ -211,7 +211,7 @@ static const AIOCBInfo dma_aiocb_info = {
|
|
.cancel_async = dma_aio_cancel,
|
|
.cancel_async = dma_aio_cancel,
|
|
};
|
|
};
|
|
|
|
|
|
-BlockAIOCB *dma_blk_io(AioContext *ctx,
|
|
|
|
|
|
+BlockAIOCB *dma_blk_io(
|
|
QEMUSGList *sg, uint64_t offset, uint32_t align,
|
|
QEMUSGList *sg, uint64_t offset, uint32_t align,
|
|
DMAIOFunc *io_func, void *io_func_opaque,
|
|
DMAIOFunc *io_func, void *io_func_opaque,
|
|
BlockCompletionFunc *cb,
|
|
BlockCompletionFunc *cb,
|
|
@@ -223,7 +223,7 @@ BlockAIOCB *dma_blk_io(AioContext *ctx,
|
|
|
|
|
|
dbs->acb = NULL;
|
|
dbs->acb = NULL;
|
|
dbs->sg = sg;
|
|
dbs->sg = sg;
|
|
- dbs->ctx = ctx;
|
|
|
|
|
|
+ dbs->ctx = qemu_get_current_aio_context();
|
|
dbs->offset = offset;
|
|
dbs->offset = offset;
|
|
dbs->align = align;
|
|
dbs->align = align;
|
|
dbs->sg_cur_index = 0;
|
|
dbs->sg_cur_index = 0;
|
|
@@ -251,7 +251,7 @@ BlockAIOCB *dma_blk_read(BlockBackend *blk,
|
|
QEMUSGList *sg, uint64_t offset, uint32_t align,
|
|
QEMUSGList *sg, uint64_t offset, uint32_t align,
|
|
void (*cb)(void *opaque, int ret), void *opaque)
|
|
void (*cb)(void *opaque, int ret), void *opaque)
|
|
{
|
|
{
|
|
- return dma_blk_io(blk_get_aio_context(blk), sg, offset, align,
|
|
|
|
|
|
+ return dma_blk_io(sg, offset, align,
|
|
dma_blk_read_io_func, blk, cb, opaque,
|
|
dma_blk_read_io_func, blk, cb, opaque,
|
|
DMA_DIRECTION_FROM_DEVICE);
|
|
DMA_DIRECTION_FROM_DEVICE);
|
|
}
|
|
}
|
|
@@ -269,7 +269,7 @@ BlockAIOCB *dma_blk_write(BlockBackend *blk,
|
|
QEMUSGList *sg, uint64_t offset, uint32_t align,
|
|
QEMUSGList *sg, uint64_t offset, uint32_t align,
|
|
void (*cb)(void *opaque, int ret), void *opaque)
|
|
void (*cb)(void *opaque, int ret), void *opaque)
|
|
{
|
|
{
|
|
- return dma_blk_io(blk_get_aio_context(blk), sg, offset, align,
|
|
|
|
|
|
+ return dma_blk_io(sg, offset, align,
|
|
dma_blk_write_io_func, blk, cb, opaque,
|
|
dma_blk_write_io_func, blk, cb, opaque,
|
|
DMA_DIRECTION_TO_DEVICE);
|
|
DMA_DIRECTION_TO_DEVICE);
|
|
}
|
|
}
|