qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Fam Zheng <famz@redhat.com>
To: qemu-devel@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>, Benoit Canet <benoit@irqsave.net>,
	Peter Lieven <pl@kamp.de>, Stefan Hajnoczi <stefanha@redhat.com>,
	Liu Yuan <namei.unix@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>
Subject: [Qemu-devel] [PATCH v5 10/22] archipelago: Drop archipelago_aiocb_info.cancel
Date: Wed, 10 Sep 2014 14:00:02 +0800	[thread overview]
Message-ID: <1410328814-12560-11-git-send-email-famz@redhat.com> (raw)
In-Reply-To: <1410328814-12560-1-git-send-email-famz@redhat.com>

The cancelled flag is no longer useful. Later the request will complete
as before, and cb will be called.

Signed-off-by: Fam Zheng <famz@redhat.com>
---
 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

  parent reply	other threads:[~2014-09-10  6:01 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-10  5:59 [Qemu-devel] [PATCH v5 00/22] block: Asynchronous request cancellation Fam Zheng
2014-09-10  5:59 ` [Qemu-devel] [PATCH v5 01/22] ide/ahci: Check for -ECANCELED in aio callbacks Fam Zheng
2014-09-10  5:59 ` [Qemu-devel] [PATCH v5 02/22] block: Add refcnt in BlockDriverAIOCB Fam Zheng
2014-09-10  5:59 ` [Qemu-devel] [PATCH v5 03/22] block: Add bdrv_aio_cancel_async Fam Zheng
2014-09-10  5:59 ` [Qemu-devel] [PATCH v5 04/22] block: Drop bdrv_em_co_aiocb_info.cancel Fam Zheng
2014-09-10  5:59 ` [Qemu-devel] [PATCH v5 05/22] block: Convert bdrv_em_aiocb_info.cancel to .cancel_async Fam Zheng
2014-09-10  8:20   ` Paolo Bonzini
2014-09-10  9:36     ` Fam Zheng
2014-09-10  9:46       ` Paolo Bonzini
2014-09-10  5:59 ` [Qemu-devel] [PATCH v5 06/22] thread-pool: Convert thread_pool_aiocb_info.cancel to cancel_async Fam Zheng
2014-09-10  5:59 ` [Qemu-devel] [PATCH v5 07/22] linux-aio: Convert laio_aiocb_info.cancel to .cancel_async Fam Zheng
2014-09-10  6:00 ` [Qemu-devel] [PATCH v5 08/22] dma: Convert dma_aiocb_info.cancel " Fam Zheng
2014-09-10  6:00 ` [Qemu-devel] [PATCH v5 09/22] iscsi: Convert iscsi_aiocb_info.cancel " Fam Zheng
2014-09-10  6:00 ` Fam Zheng [this message]
2014-09-10  6:00 ` [Qemu-devel] [PATCH v5 11/22] blkdebug: Drop blkdebug_aiocb_info.cancel Fam Zheng
2014-09-10  6:00 ` [Qemu-devel] [PATCH v5 12/22] blkverify: Drop blkverify_aiocb_info.cancel Fam Zheng
2014-09-10  6:00 ` [Qemu-devel] [PATCH v5 13/22] curl: Drop curl_aiocb_info.cancel Fam Zheng
2014-09-10  6:00 ` [Qemu-devel] [PATCH v5 14/22] qed: Drop qed_aiocb_info.cancel Fam Zheng
2014-09-10  6:00 ` [Qemu-devel] [PATCH v5 15/22] quorum: fix quorum_aio_cancel() Fam Zheng
2014-09-10  6:00 ` [Qemu-devel] [PATCH v5 16/22] quorum: Convert quorum_aiocb_info.cancel to .cancel_async Fam Zheng
2014-09-10  6:00 ` [Qemu-devel] [PATCH v5 17/22] rbd: Drop rbd_aiocb_info.cancel Fam Zheng
2014-09-10  6:00 ` [Qemu-devel] [PATCH v5 18/22] sheepdog: Convert sd_aiocb_info.cancel to .cancel_async Fam Zheng
2014-09-10  6:00 ` [Qemu-devel] [PATCH v5 19/22] win32-aio: Drop win32_aiocb_info.cancel Fam Zheng
2014-09-10  6:00 ` [Qemu-devel] [PATCH v5 20/22] ide: Convert trim_aiocb_info.cancel to .cancel_async Fam Zheng
2014-09-10  6:00 ` [Qemu-devel] [PATCH v5 21/22] block: Drop AIOCBInfo.cancel Fam Zheng
2014-09-10  6:00 ` [Qemu-devel] [PATCH v5 22/22] block: Rename qemu_aio_release -> qemu_aio_unref Fam Zheng
2014-09-10  9:09 ` [Qemu-devel] [PATCH v5 00/22] block: Asynchronous request cancellation Bin Wu
2014-09-10  9:20   ` Fam Zheng

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1410328814-12560-11-git-send-email-famz@redhat.com \
    --to=famz@redhat.com \
    --cc=benoit@irqsave.net \
    --cc=kwolf@redhat.com \
    --cc=namei.unix@gmail.com \
    --cc=pbonzini@redhat.com \
    --cc=pl@kamp.de \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).