[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC PATCH 1/9] block: Add bdrv_aio_cancel_async
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] [RFC PATCH 1/9] block: Add bdrv_aio_cancel_async |
Date: |
Thu, 21 Aug 2014 14:44:58 +0100 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On Thu, Aug 21, 2014 at 07:56:48PM +0800, Fam Zheng wrote:
> +/* Async version of aio cancel. The caller is not blocked if the acb
> implements
> + * cancel_async, otherwise fall back to bdrv_aio_cancel. In both cases,
> acb->cb
> + * is guarenteed to be called, before or after function returns. */
> +void bdrv_aio_cancel_async(BlockDriverAIOCB *acb)
> +{
> + if (acb->aiocb_info->cancel_async) {
> + acb->aiocb_info->cancel_async(acb);
> + } else {
> + BlockDriverAIOCB *save = g_new(BlockDriverAIOCB, 1);
Please don't create a dummy BlockDriverAIOCB. It makes the code
confusing because all other BlockDriverAIOCBs in QEMU are allocated with
qemu_aio_get() and behave in a certain way.
This is not really a BlockDriverAIOCB, it's just a struct to stash the
old cb/opaque in.
pgpPgKP6G0Bjh.pgp
Description: PGP signature
- [Qemu-devel] [RFC PATCH 0/9] scsi, block: Asynchronous request cancellation, Fam Zheng, 2014/08/21
- [Qemu-devel] [RFC PATCH 1/9] block: Add bdrv_aio_cancel_async, Fam Zheng, 2014/08/21
- Re: [Qemu-devel] [RFC PATCH 1/9] block: Add bdrv_aio_cancel_async, Paolo Bonzini, 2014/08/21
- Re: [Qemu-devel] [RFC PATCH 1/9] block: Add bdrv_aio_cancel_async, Fam Zheng, 2014/08/21
- Re: [Qemu-devel] [RFC PATCH 1/9] block: Add bdrv_aio_cancel_async, Paolo Bonzini, 2014/08/22
- Re: [Qemu-devel] [RFC PATCH 1/9] block: Add bdrv_aio_cancel_async, Fam Zheng, 2014/08/22
- Re: [Qemu-devel] [RFC PATCH 1/9] block: Add bdrv_aio_cancel_async, Paolo Bonzini, 2014/08/22
- Re: [Qemu-devel] [RFC PATCH 1/9] block: Add bdrv_aio_cancel_async, Fam Zheng, 2014/08/22
Re: [Qemu-devel] [RFC PATCH 1/9] block: Add bdrv_aio_cancel_async,
Stefan Hajnoczi <=
[Qemu-devel] [RFC PATCH 2/9] tests: Add testing code for bdrv_aio_cancel_async, Fam Zheng, 2014/08/21
[Qemu-devel] [RFC PATCH 3/9] iscsi: Implement .cancel_async in acb info, Fam Zheng, 2014/08/21
[Qemu-devel] [RFC PATCH 4/9] linux-aio: Implement .cancel_async, Fam Zheng, 2014/08/21
[Qemu-devel] [RFC PATCH 5/9] thread-pool: Implement .cancel_async, Fam Zheng, 2014/08/21
[Qemu-devel] [RFC PATCH 7/9] dma: Implement .cancel_async, Fam Zheng, 2014/08/21
[Qemu-devel] [RFC PATCH 8/9] block: Implement stub bdrv_em_co_aiocb_info.cancel_async, Fam Zheng, 2014/08/21