-static void qcow_aio_delete(BlockDriverAIOCB *acb);
-
-static int qcow_aio_new(BlockDriverAIOCB *acb)
-{
- BlockDriverState *bs = acb->bs;
- BDRVQcowState *s = bs->opaque;
- QCowAIOCB *acb1;
- acb1 = qemu_mallocz(sizeof(QCowAIOCB));
- if (!acb1)
- return -1;
- acb->opaque = acb1;
- acb1->hd_aiocb = bdrv_aio_new(s->hd);
- if (!acb1->hd_aiocb)
- goto fail;
- if (bs->backing_hd) {
- acb1->backing_hd_aiocb = bdrv_aio_new(bs->backing_hd);
- if (!acb1->backing_hd_aiocb)
- goto fail;
- }
- return 0;
- fail:
- qcow_aio_delete(acb);
- return -1;
-}
-