qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Stefan Hajnoczi <stefanha@redhat.com>
To: qemu-devel@nongnu.org
Cc: Peter Maydell <peter.maydell@linaro.org>,
	Fam Zheng <famz@redhat.com>,
	Stefan Hajnoczi <stefanha@redhat.com>
Subject: [Qemu-devel] [PULL v2 25/59] block: Rename qemu_aio_release -> qemu_aio_unref
Date: Mon, 22 Sep 2014 12:41:56 +0100	[thread overview]
Message-ID: <1411386150-24003-26-git-send-email-stefanha@redhat.com> (raw)
In-Reply-To: <1411386150-24003-1-git-send-email-stefanha@redhat.com>

From: Fam Zheng <famz@redhat.com>

Suggested-by: Benoît Canet <benoit.canet@irqsave.net>
Signed-off-by: Fam Zheng <famz@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 block.c             |  8 ++++----
 block/archipelago.c |  4 ++--
 block/blkdebug.c    |  2 +-
 block/blkverify.c   |  2 +-
 block/curl.c        | 10 +++++-----
 block/iscsi.c       |  6 +++---
 block/linux-aio.c   |  4 ++--
 block/qed.c         |  2 +-
 block/quorum.c      |  2 +-
 block/rbd.c         |  4 ++--
 block/sheepdog.c    |  8 ++++----
 block/win32-aio.c   |  4 ++--
 dma-helpers.c       |  2 +-
 hw/ide/core.c       |  2 +-
 include/block/aio.h |  2 +-
 thread-pool.c       |  4 ++--
 16 files changed, 33 insertions(+), 33 deletions(-)

diff --git a/block.c b/block.c
index 3a3648d..a857913 100644
--- a/block.c
+++ b/block.c
@@ -4651,7 +4651,7 @@ void bdrv_aio_cancel(BlockDriverAIOCB *acb)
             abort();
         }
     }
-    qemu_aio_release(acb);
+    qemu_aio_unref(acb);
 }
 
 /* Async version of aio cancel. The caller is not blocked if the acb implements
@@ -4692,7 +4692,7 @@ static void bdrv_aio_bh_cb(void *opaque)
     acb->common.cb(acb->common.opaque, acb->ret);
     qemu_bh_delete(acb->bh);
     acb->bh = NULL;
-    qemu_aio_release(acb);
+    qemu_aio_unref(acb);
 }
 
 static BlockDriverAIOCB *bdrv_aio_rw_vector(BlockDriverState *bs,
@@ -4760,7 +4760,7 @@ static void bdrv_co_em_bh(void *opaque)
     acb->common.cb(acb->common.opaque, acb->req.error);
 
     qemu_bh_delete(acb->bh);
-    qemu_aio_release(acb);
+    qemu_aio_unref(acb);
 }
 
 /* Invoke bdrv_co_do_readv/bdrv_co_do_writev */
@@ -4891,7 +4891,7 @@ void qemu_aio_ref(void *p)
     acb->refcnt++;
 }
 
-void qemu_aio_release(void *p)
+void qemu_aio_unref(void *p)
 {
     BlockDriverAIOCB *acb = p;
     assert(acb->refcnt > 0);
diff --git a/block/archipelago.c b/block/archipelago.c
index 435efa7..3c86d0b 100644
--- a/block/archipelago.c
+++ b/block/archipelago.c
@@ -317,7 +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;
 
-    qemu_aio_release(aio_cb);
+    qemu_aio_unref(aio_cb);
     g_free(reqdata);
 }
 
@@ -890,7 +890,7 @@ static BlockDriverAIOCB *qemu_archipelago_aio_rw(BlockDriverState *bs,
 
 err_exit:
     error_report("qemu_archipelago_aio_rw(): I/O Error\n");
-    qemu_aio_release(aio_cb);
+    qemu_aio_unref(aio_cb);
     return NULL;
 }
 
diff --git a/block/blkdebug.c b/block/blkdebug.c
index 08131b3..ced0b60 100644
--- a/block/blkdebug.c
+++ b/block/blkdebug.c
@@ -444,7 +444,7 @@ static void error_callback_bh(void *opaque)
     struct BlkdebugAIOCB *acb = opaque;
     qemu_bh_delete(acb->bh);
     acb->common.cb(acb->common.opaque, acb->ret);
-    qemu_aio_release(acb);
+    qemu_aio_unref(acb);
 }
 
 static BlockDriverAIOCB *inject_error(BlockDriverState *bs,
diff --git a/block/blkverify.c b/block/blkverify.c
index 460393f..7d64a23 100644
--- a/block/blkverify.c
+++ b/block/blkverify.c
@@ -192,7 +192,7 @@ static void blkverify_aio_bh(void *opaque)
         qemu_vfree(acb->buf);
     }
     acb->common.cb(acb->common.opaque, acb->ret);
-    qemu_aio_release(acb);
+    qemu_aio_unref(acb);
 }
 
 static void blkverify_aio_cb(void *opaque, int ret)
diff --git a/block/curl.c b/block/curl.c
index 6f5d6ae..225407c 100644
--- a/block/curl.c
+++ b/block/curl.c
@@ -212,7 +212,7 @@ static size_t curl_read_cb(void *ptr, size_t size, size_t nmemb, void *opaque)
             qemu_iovec_from_buf(acb->qiov, 0, s->orig_buf + acb->start,
                                 acb->end - acb->start);
             acb->common.cb(acb->common.opaque, 0);
-            qemu_aio_release(acb);
+            qemu_aio_unref(acb);
             s->acb[i] = NULL;
         }
     }
@@ -304,7 +304,7 @@ static void curl_multi_check_completion(BDRVCURLState *s)
                     }
 
                     acb->common.cb(acb->common.opaque, -EIO);
-                    qemu_aio_release(acb);
+                    qemu_aio_unref(acb);
                     state->acb[i] = NULL;
                 }
             }
@@ -636,7 +636,7 @@ static void curl_readv_bh_cb(void *p)
     // we can just call the callback and be done.
     switch (curl_find_buf(s, start, acb->nb_sectors * SECTOR_SIZE, acb)) {
         case FIND_RET_OK:
-            qemu_aio_release(acb);
+            qemu_aio_unref(acb);
             // fall through
         case FIND_RET_WAIT:
             return;
@@ -648,7 +648,7 @@ static void curl_readv_bh_cb(void *p)
     state = curl_init_state(acb->common.bs, s);
     if (!state) {
         acb->common.cb(acb->common.opaque, -EIO);
-        qemu_aio_release(acb);
+        qemu_aio_unref(acb);
         return;
     }
 
@@ -664,7 +664,7 @@ static void curl_readv_bh_cb(void *p)
     if (state->buf_len && state->orig_buf == NULL) {
         curl_clean_state(state);
         acb->common.cb(acb->common.opaque, -ENOMEM);
-        qemu_aio_release(acb);
+        qemu_aio_unref(acb);
         return;
     }
     state->acb[0] = acb;
diff --git a/block/iscsi.c b/block/iscsi.c
index f8328d6..3c1b416 100644
--- a/block/iscsi.c
+++ b/block/iscsi.c
@@ -126,7 +126,7 @@ iscsi_bh_cb(void *p)
         acb->task = NULL;
     }
 
-    qemu_aio_release(acb);
+    qemu_aio_unref(acb);
 }
 
 static void
@@ -680,7 +680,7 @@ static BlockDriverAIOCB *iscsi_aio_ioctl(BlockDriverState *bs,
     if (acb->task == NULL) {
         error_report("iSCSI: Failed to allocate task for scsi command. %s",
                      iscsi_get_error(iscsi));
-        qemu_aio_release(acb);
+        qemu_aio_unref(acb);
         return NULL;
     }
     memset(acb->task, 0, sizeof(struct scsi_task));
@@ -718,7 +718,7 @@ static BlockDriverAIOCB *iscsi_aio_ioctl(BlockDriverState *bs,
                                  (data.size > 0) ? &data : NULL,
                                  acb) != 0) {
         scsi_free_scsi_task(acb->task);
-        qemu_aio_release(acb);
+        qemu_aio_unref(acb);
         return NULL;
     }
 
diff --git a/block/linux-aio.c b/block/linux-aio.c
index b67f56c..f4baba2 100644
--- a/block/linux-aio.c
+++ b/block/linux-aio.c
@@ -88,7 +88,7 @@ static void qemu_laio_process_completion(struct qemu_laio_state *s,
     }
     laiocb->common.cb(laiocb->common.opaque, ret);
 
-    qemu_aio_release(laiocb);
+    qemu_aio_unref(laiocb);
 }
 
 /* The completion BH fetches completed I/O requests and invokes their
@@ -286,7 +286,7 @@ BlockDriverAIOCB *laio_submit(BlockDriverState *bs, void *aio_ctx, int fd,
     return &laiocb->common;
 
 out_free_aiocb:
-    qemu_aio_release(laiocb);
+    qemu_aio_unref(laiocb);
     return NULL;
 }
 
diff --git a/block/qed.c b/block/qed.c
index 7a15d44..e2316d7 100644
--- a/block/qed.c
+++ b/block/qed.c
@@ -907,7 +907,7 @@ static void qed_aio_complete_bh(void *opaque)
     int ret = acb->bh_ret;
 
     qemu_bh_delete(acb->bh);
-    qemu_aio_release(acb);
+    qemu_aio_unref(acb);
 
     /* Invoke callback */
     cb(user_opaque, ret);
diff --git a/block/quorum.c b/block/quorum.c
index f343c04..7687466 100644
--- a/block/quorum.c
+++ b/block/quorum.c
@@ -168,7 +168,7 @@ static void quorum_aio_finalize(QuorumAIOCB *acb)
     }
 
     g_free(acb->qcrs);
-    qemu_aio_release(acb);
+    qemu_aio_unref(acb);
 }
 
 static bool quorum_sha256_compare(QuorumVoteValue *a, QuorumVoteValue *b)
diff --git a/block/rbd.c b/block/rbd.c
index e5341fc..96947e3 100644
--- a/block/rbd.c
+++ b/block/rbd.c
@@ -407,7 +407,7 @@ static void qemu_rbd_complete_aio(RADOSCB *rcb)
     acb->common.cb(acb->common.opaque, (acb->ret > 0 ? 0 : acb->ret));
     acb->status = 0;
 
-    qemu_aio_release(acb);
+    qemu_aio_unref(acb);
 }
 
 /* TODO Convert to fine grained options */
@@ -671,7 +671,7 @@ failed_completion:
 failed:
     g_free(rcb);
     qemu_vfree(acb->bounce);
-    qemu_aio_release(acb);
+    qemu_aio_unref(acb);
     return NULL;
 }
 
diff --git a/block/sheepdog.c b/block/sheepdog.c
index f538606..2d78ef9 100644
--- a/block/sheepdog.c
+++ b/block/sheepdog.c
@@ -445,7 +445,7 @@ static inline void free_aio_req(BDRVSheepdogState *s, AIOReq *aio_req)
 static void coroutine_fn sd_finish_aiocb(SheepdogAIOCB *acb)
 {
     qemu_coroutine_enter(acb->coroutine, NULL);
-    qemu_aio_release(acb);
+    qemu_aio_unref(acb);
 }
 
 /*
@@ -2130,7 +2130,7 @@ static coroutine_fn int sd_co_writev(BlockDriverState *bs, int64_t sector_num,
 
     ret = sd_co_rw_vector(acb);
     if (ret <= 0) {
-        qemu_aio_release(acb);
+        qemu_aio_unref(acb);
         return ret;
     }
 
@@ -2151,7 +2151,7 @@ static coroutine_fn int sd_co_readv(BlockDriverState *bs, int64_t sector_num,
 
     ret = sd_co_rw_vector(acb);
     if (ret <= 0) {
-        qemu_aio_release(acb);
+        qemu_aio_unref(acb);
         return ret;
     }
 
@@ -2510,7 +2510,7 @@ static coroutine_fn int sd_co_discard(BlockDriverState *bs, int64_t sector_num,
 
     ret = sd_co_rw_vector(acb);
     if (ret <= 0) {
-        qemu_aio_release(acb);
+        qemu_aio_unref(acb);
         return ret;
     }
 
diff --git a/block/win32-aio.c b/block/win32-aio.c
index eed86f7..9323c1a 100644
--- a/block/win32-aio.c
+++ b/block/win32-aio.c
@@ -88,7 +88,7 @@ static void win32_aio_process_completion(QEMUWin32AIOState *s,
 
 
     waiocb->common.cb(waiocb->common.opaque, ret);
-    qemu_aio_release(waiocb);
+    qemu_aio_unref(waiocb);
 }
 
 static void win32_aio_completion_cb(EventNotifier *e)
@@ -158,7 +158,7 @@ BlockDriverAIOCB *win32_aio_submit(BlockDriverState *bs,
 out_dec_count:
     aio->count--;
 out:
-    qemu_aio_release(waiocb);
+    qemu_aio_unref(waiocb);
     return NULL;
 }
 
diff --git a/dma-helpers.c b/dma-helpers.c
index 207b21e..7f86e18 100644
--- a/dma-helpers.c
+++ b/dma-helpers.c
@@ -124,7 +124,7 @@ static void dma_complete(DMAAIOCB *dbs, int ret)
         qemu_bh_delete(dbs->bh);
         dbs->bh = NULL;
     }
-    qemu_aio_release(dbs);
+    qemu_aio_unref(dbs);
 }
 
 static void dma_bdrv_cb(void *opaque, int ret)
diff --git a/hw/ide/core.c b/hw/ide/core.c
index 055d150..190700a 100644
--- a/hw/ide/core.c
+++ b/hw/ide/core.c
@@ -397,7 +397,7 @@ static void ide_trim_bh_cb(void *opaque)
 
     qemu_bh_delete(iocb->bh);
     iocb->bh = NULL;
-    qemu_aio_release(iocb);
+    qemu_aio_unref(iocb);
 }
 
 static void ide_issue_trim_cb(void *opaque, int ret)
diff --git a/include/block/aio.h b/include/block/aio.h
index f2d0582..67a75dd 100644
--- a/include/block/aio.h
+++ b/include/block/aio.h
@@ -41,7 +41,7 @@ struct BlockDriverAIOCB {
 
 void *qemu_aio_get(const AIOCBInfo *aiocb_info, BlockDriverState *bs,
                    BlockDriverCompletionFunc *cb, void *opaque);
-void qemu_aio_release(void *p);
+void qemu_aio_unref(void *p);
 void qemu_aio_ref(void *p);
 
 typedef struct AioHandler AioHandler;
diff --git a/thread-pool.c b/thread-pool.c
index bb1395c..86fa4a8 100644
--- a/thread-pool.c
+++ b/thread-pool.c
@@ -185,12 +185,12 @@ restart:
             qemu_bh_schedule(pool->completion_bh);
 
             elem->common.cb(elem->common.opaque, elem->ret);
-            qemu_aio_release(elem);
+            qemu_aio_unref(elem);
             goto restart;
         } else {
             /* remove the request */
             QLIST_REMOVE(elem, all);
-            qemu_aio_release(elem);
+            qemu_aio_unref(elem);
         }
     }
 }
-- 
1.9.3

  parent reply	other threads:[~2014-09-22 11:43 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-22 11:41 [Qemu-devel] [PULL v2 00/59] Block patches Stefan Hajnoczi
2014-09-22 11:41 ` [Qemu-devel] [PULL v2 01/59] block/vhdx.c: Mark parent_vhdx_guid variable as unused Stefan Hajnoczi
2014-09-22 11:41 ` [Qemu-devel] [PULL v2 02/59] ide/atapi: Mark non-data commands as complete Stefan Hajnoczi
2014-09-22 11:41 ` [Qemu-devel] [PULL v2 03/59] aio-win32: fix uninitialized use of have_select_revents Stefan Hajnoczi
2014-09-22 11:41 ` [Qemu-devel] [PULL v2 04/59] ide/ahci: Check for -ECANCELED in aio callbacks Stefan Hajnoczi
2014-09-22 11:41 ` [Qemu-devel] [PULL v2 05/59] block: Add refcnt in BlockDriverAIOCB Stefan Hajnoczi
2014-09-22 11:41 ` [Qemu-devel] [PULL v2 06/59] block: Add bdrv_aio_cancel_async Stefan Hajnoczi
2014-09-22 11:41 ` [Qemu-devel] [PULL v2 07/59] block: Drop bdrv_em_co_aiocb_info.cancel Stefan Hajnoczi
2014-09-22 11:41 ` [Qemu-devel] [PULL v2 08/59] block: Drop bdrv_em_aiocb_info.cancel Stefan Hajnoczi
2014-09-22 11:41 ` [Qemu-devel] [PULL v2 09/59] thread-pool: Convert thread_pool_aiocb_info.cancel to cancel_async Stefan Hajnoczi
2014-09-22 11:41 ` [Qemu-devel] [PULL v2 10/59] linux-aio: Convert laio_aiocb_info.cancel to .cancel_async Stefan Hajnoczi
2014-09-22 11:41 ` [Qemu-devel] [PULL v2 11/59] dma: Convert dma_aiocb_info.cancel " Stefan Hajnoczi
2014-09-22 11:41 ` [Qemu-devel] [PULL v2 12/59] iscsi: Convert iscsi_aiocb_info.cancel " Stefan Hajnoczi
2014-09-22 11:41 ` [Qemu-devel] [PULL v2 13/59] archipelago: Drop archipelago_aiocb_info.cancel Stefan Hajnoczi
2014-09-22 11:41 ` [Qemu-devel] [PULL v2 14/59] blkdebug: Drop blkdebug_aiocb_info.cancel Stefan Hajnoczi
2014-09-22 11:41 ` [Qemu-devel] [PULL v2 15/59] blkverify: Drop blkverify_aiocb_info.cancel Stefan Hajnoczi
2014-09-22 11:41 ` [Qemu-devel] [PULL v2 16/59] curl: Drop curl_aiocb_info.cancel Stefan Hajnoczi
2014-09-22 11:41 ` [Qemu-devel] [PULL v2 17/59] qed: Drop qed_aiocb_info.cancel Stefan Hajnoczi
2014-09-22 11:41 ` [Qemu-devel] [PULL v2 18/59] quorum: fix quorum_aio_cancel() Stefan Hajnoczi
2014-09-22 11:41 ` [Qemu-devel] [PULL v2 19/59] quorum: Convert quorum_aiocb_info.cancel to .cancel_async Stefan Hajnoczi
2014-09-22 11:41 ` [Qemu-devel] [PULL v2 20/59] rbd: Drop rbd_aiocb_info.cancel Stefan Hajnoczi
2014-09-22 11:41 ` [Qemu-devel] [PULL v2 21/59] sheepdog: Convert sd_aiocb_info.cancel to .cancel_async Stefan Hajnoczi
2014-09-22 11:41 ` [Qemu-devel] [PULL v2 22/59] win32-aio: Drop win32_aiocb_info.cancel Stefan Hajnoczi
2014-09-22 11:41 ` [Qemu-devel] [PULL v2 23/59] ide: Convert trim_aiocb_info.cancel to .cancel_async Stefan Hajnoczi
2014-09-22 11:41 ` [Qemu-devel] [PULL v2 24/59] block: Drop AIOCBInfo.cancel Stefan Hajnoczi
2014-09-22 11:41 ` Stefan Hajnoczi [this message]
2014-09-22 11:41 ` [Qemu-devel] [PULL v2 26/59] qdev-monitor: fix segmentation fault on qdev_device_help() Stefan Hajnoczi
2014-09-22 11:41 ` [Qemu-devel] [PULL v2 27/59] aio-win32: avoid out-of-bounds access to the events array Stefan Hajnoczi
2014-09-22 11:41 ` [Qemu-devel] [PULL v2 28/59] block: Introduce "null" drivers Stefan Hajnoczi
2014-09-22 11:42 ` [Qemu-devel] [PULL v2 29/59] qapi: Sort BlockdevDriver enum data list Stefan Hajnoczi
2014-09-22 11:42 ` [Qemu-devel] [PULL v2 30/59] qapi: Sort items in BlockdevOptions definition Stefan Hajnoczi
2014-09-22 11:42 ` [Qemu-devel] [PULL v2 31/59] qapi/block: Add "fatal" to BLOCK_IMAGE_CORRUPTED Stefan Hajnoczi
2014-09-22 11:42 ` [Qemu-devel] [PULL v2 32/59] qcow2: Add qcow2_signal_corruption() Stefan Hajnoczi
2014-09-22 11:42 ` [Qemu-devel] [PULL v2 33/59] qcow2: Use qcow2_signal_corruption() for overlaps Stefan Hajnoczi
2014-09-22 11:42 ` [Qemu-devel] [PULL v2 34/59] qcow2: Check L1/L2/reftable entries for alignment Stefan Hajnoczi
2014-09-22 11:42 ` [Qemu-devel] [PULL v2 35/59] iotests: Add more tests for qcow2 corruption Stefan Hajnoczi
2014-09-22 11:42 ` [Qemu-devel] [PULL v2 36/59] image-fuzzer: Trivial readability and formatting improvements Stefan Hajnoczi
2014-09-22 11:42 ` [Qemu-devel] [PULL v2 37/59] hmp: fix memory leak at hmp_info_block_jobs() Stefan Hajnoczi
2014-09-22 11:42 ` [Qemu-devel] [PULL v2 38/59] qcow2: Fix leak of QemuOpts in qcow2_open() Stefan Hajnoczi
2014-09-22 11:42 ` [Qemu-devel] [PULL v2 39/59] qapi: Allow enums in anonymous unions Stefan Hajnoczi
2014-09-22 11:42 ` [Qemu-devel] [PULL v2 40/59] qcow2: Add overlap-check.template option Stefan Hajnoczi
2014-09-22 11:42 ` [Qemu-devel] [PULL v2 41/59] qapi/block-core: Add "new" qcow2 options Stefan Hajnoczi
2014-09-22 11:42 ` [Qemu-devel] [PULL v2 42/59] docs: List all image elements currently supported by the fuzzer Stefan Hajnoczi
2014-09-22 11:42 ` [Qemu-devel] [PULL v2 43/59] fuzz: Add fuzzing functions for entries of refcount table and blocks Stefan Hajnoczi
2014-09-22 11:42 ` [Qemu-devel] [PULL v2 44/59] layout: Add generators for " Stefan Hajnoczi
2014-09-22 11:42 ` [Qemu-devel] [PULL v2 45/59] ahci: Adding basic functionality qtest Stefan Hajnoczi
2014-09-22 11:42 ` [Qemu-devel] [PULL v2 46/59] ahci: MSI capability should be at 0x80, not 0x50 Stefan Hajnoczi
2014-09-22 11:42 ` [Qemu-devel] [PULL v2 47/59] ahci: Add test_pci_spec to ahci-test Stefan Hajnoczi
2014-09-22 11:42 ` [Qemu-devel] [PULL v2 48/59] ahci: add test_pci_enable " Stefan Hajnoczi
2014-09-22 11:42 ` [Qemu-devel] [PULL v2 49/59] ahci: properly shadow the TFD register Stefan Hajnoczi
2014-09-22 11:42 ` [Qemu-devel] [PULL v2 50/59] ahci: Add test_hba_spec to ahci-test Stefan Hajnoczi
2014-09-22 11:42 ` [Qemu-devel] [PULL v2 51/59] ahci: Add test_hba_enable " Stefan Hajnoczi
2014-09-22 11:42 ` [Qemu-devel] [PULL v2 52/59] ahci: Add test_identify case " Stefan Hajnoczi
2014-09-22 11:42 ` [Qemu-devel] [PULL v2 53/59] block/archipelago: Fix typo in qemu_archipelago_truncate() Stefan Hajnoczi
2014-09-22 11:42 ` [Qemu-devel] [PULL v2 54/59] block: delete cow block driver Stefan Hajnoczi
2014-09-22 11:42 ` [Qemu-devel] [PULL v2 55/59] block: vhdx - fix reading beyond pointer during image creation Stefan Hajnoczi
2014-09-22 11:42 ` [Qemu-devel] [PULL v2 56/59] async: aio_context_new(): Handle event_notifier_init failure Stefan Hajnoczi
2014-09-22 11:42 ` [Qemu-devel] [PULL v2 57/59] virtio: Import virtio_vring.h Stefan Hajnoczi
2014-09-22 11:42 ` [Qemu-devel] [PULL v2 58/59] vring: Better error handling if num is too large Stefan Hajnoczi
2014-09-22 11:42 ` [Qemu-devel] [PULL v2 59/59] block: Always compile virtio-blk dataplane Stefan Hajnoczi
2014-09-23 12:23 ` [Qemu-devel] [PULL v2 00/59] Block patches Peter Maydell

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=1411386150-24003-26-git-send-email-stefanha@redhat.com \
    --to=stefanha@redhat.com \
    --cc=famz@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /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).