From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35295) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XRayC-000601-9l for qemu-devel@nongnu.org; Wed, 10 Sep 2014 02:01:39 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XRay4-0003Je-QK for qemu-devel@nongnu.org; Wed, 10 Sep 2014 02:01:32 -0400 Received: from mx1.redhat.com ([209.132.183.28]:49217) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XRay4-0003J8-IF for qemu-devel@nongnu.org; Wed, 10 Sep 2014 02:01:24 -0400 From: Fam Zheng Date: Wed, 10 Sep 2014 14:00:02 +0800 Message-Id: <1410328814-12560-11-git-send-email-famz@redhat.com> In-Reply-To: <1410328814-12560-1-git-send-email-famz@redhat.com> References: <1410328814-12560-1-git-send-email-famz@redhat.com> Subject: [Qemu-devel] [PATCH v5 10/22] archipelago: Drop archipelago_aiocb_info.cancel List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Kevin Wolf , Benoit Canet , Peter Lieven , Stefan Hajnoczi , Liu Yuan , Paolo Bonzini The cancelled flag is no longer useful. Later the request will complete as before, and cb will be called. Signed-off-by: Fam Zheng --- block/archipelago.c | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/block/archipelago.c b/block/archipelago.c index 22a7daa..1fa0462 100644 --- a/block/archipelago.c +++ b/block/archipelago.c @@ -92,7 +92,6 @@ typedef struct ArchipelagoAIOCB { struct BDRVArchipelagoState *s; QEMUIOVector *qiov; ARCHIPCmd cmd; - bool cancelled; int status; int64_t size; int64_t ret; @@ -318,9 +317,7 @@ static void qemu_archipelago_complete_aio(void *opaque) aio_cb->common.cb(aio_cb->common.opaque, aio_cb->ret); aio_cb->status = 0; - if (!aio_cb->cancelled) { - qemu_aio_release(aio_cb); - } + qemu_aio_release(aio_cb); g_free(reqdata); } @@ -724,19 +721,8 @@ static int qemu_archipelago_create(const char *filename, return ret; } -static void qemu_archipelago_aio_cancel(BlockDriverAIOCB *blockacb) -{ - ArchipelagoAIOCB *aio_cb = (ArchipelagoAIOCB *) blockacb; - aio_cb->cancelled = true; - while (aio_cb->status == -EINPROGRESS) { - aio_poll(bdrv_get_aio_context(aio_cb->common.bs), true); - } - qemu_aio_release(aio_cb); -} - static const AIOCBInfo archipelago_aiocb_info = { .aiocb_size = sizeof(ArchipelagoAIOCB), - .cancel = qemu_archipelago_aio_cancel, }; static int archipelago_submit_request(BDRVArchipelagoState *s, @@ -888,7 +874,6 @@ static BlockDriverAIOCB *qemu_archipelago_aio_rw(BlockDriverState *bs, aio_cb->ret = 0; aio_cb->s = s; - aio_cb->cancelled = false; aio_cb->status = -EINPROGRESS; off = sector_num * BDRV_SECTOR_SIZE; -- 1.9.3