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>,
	Eric Blake <eblake@redhat.com>, Fam Zheng <famz@redhat.com>
Subject: [Qemu-devel] [PULL 10/12] block: Move BlockRequest type to io.c
Date: Tue,  7 Jun 2016 15:26:23 +0100	[thread overview]
Message-ID: <1465309585-31551-11-git-send-email-stefanha@redhat.com> (raw)
In-Reply-To: <1465309585-31551-1-git-send-email-stefanha@redhat.com>

From: Eric Blake <eblake@redhat.com>

I was thrown by the fact that the public type BlockRequest had
an anonymous union, but no obvious discriminator.  Turns out
that the only client of the second branch of the union was code
internal to io.c, now that commit 91c6e4b killed public
multiwrite, so move it into io.c and improve the comments.

Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <1463699150-19445-1-git-send-email-eblake@redhat.com>
Signed-off-by: Fam Zheng <famz@redhat.com>
---
 block/io.c            | 21 +++++++++++++++++++++
 include/block/block.h | 21 ---------------------
 2 files changed, 21 insertions(+), 21 deletions(-)

diff --git a/block/io.c b/block/io.c
index e12f303..a2fba67 100644
--- a/block/io.c
+++ b/block/io.c
@@ -1902,6 +1902,27 @@ void bdrv_aio_cancel_async(BlockAIOCB *acb)
 /**************************************************************/
 /* async block device emulation */
 
+typedef struct BlockRequest {
+    union {
+        /* Used during read, write, trim */
+        struct {
+            int64_t sector;
+            int nb_sectors;
+            int flags;
+            QEMUIOVector *qiov;
+        };
+        /* Used during ioctl */
+        struct {
+            int req;
+            void *buf;
+        };
+    };
+    BlockCompletionFunc *cb;
+    void *opaque;
+
+    int error;
+} BlockRequest;
+
 typedef struct BlockAIOCBCoroutine {
     BlockAIOCB common;
     BlockRequest req;
diff --git a/include/block/block.h b/include/block/block.h
index d6bb74d..3fd5043 100644
--- a/include/block/block.h
+++ b/include/block/block.h
@@ -320,27 +320,6 @@ BlockAIOCB *bdrv_aio_discard(BlockDriverState *bs,
 void bdrv_aio_cancel(BlockAIOCB *acb);
 void bdrv_aio_cancel_async(BlockAIOCB *acb);
 
-typedef struct BlockRequest {
-    /* Fields to be filled by caller */
-    union {
-        struct {
-            int64_t sector;
-            int nb_sectors;
-            int flags;
-            QEMUIOVector *qiov;
-        };
-        struct {
-            int req;
-            void *buf;
-        };
-    };
-    BlockCompletionFunc *cb;
-    void *opaque;
-
-    /* Filled by block layer */
-    int error;
-} BlockRequest;
-
 /* sg packet commands */
 int bdrv_ioctl(BlockDriverState *bs, unsigned long int req, void *buf);
 BlockAIOCB *bdrv_aio_ioctl(BlockDriverState *bs,
-- 
2.5.5

  parent reply	other threads:[~2016-06-07 14:27 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-07 14:26 [Qemu-devel] [PULL 00/12] Block patches Stefan Hajnoczi
2016-06-07 14:26 ` [Qemu-devel] [PULL 01/12] tests: avoid coroutine pool test crash Stefan Hajnoczi
2016-06-07 14:26 ` [Qemu-devel] [PULL 02/12] blockdev-backup: Use bdrv_lookup_bs on target Stefan Hajnoczi
2016-06-07 14:26 ` [Qemu-devel] [PULL 03/12] blockdev-backup: Don't move target AioContext if it's attached Stefan Hajnoczi
2016-06-07 14:26 ` [Qemu-devel] [PULL 04/12] virtio-blk: Remove op blocker for dataplane Stefan Hajnoczi
2016-06-07 14:26 ` [Qemu-devel] [PULL 05/12] virtio-scsi: " Stefan Hajnoczi
2016-06-07 14:26 ` [Qemu-devel] [PULL 06/12] virtio: drop duplicate virtio_queue_get_id() function Stefan Hajnoczi
2016-06-07 14:26 ` [Qemu-devel] [PULL 07/12] block/io: Remove unused bdrv_aio_write_zeroes() Stefan Hajnoczi
2016-06-07 14:26 ` [Qemu-devel] [PULL 08/12] iostatus: fix comments for block_job_iostatus_reset Stefan Hajnoczi
2016-06-07 14:26 ` [Qemu-devel] [PULL 09/12] block/io: optimize bdrv_co_pwritev for small requests Stefan Hajnoczi
2016-06-07 14:26 ` Stefan Hajnoczi [this message]
2016-06-07 14:26 ` [Qemu-devel] [PULL 11/12] block: Drop bdrv_ioctl_bh_cb Stefan Hajnoczi
2016-06-07 14:26 ` [Qemu-devel] [PULL 12/12] throttle: refuse iops-size without iops-total/read/write Stefan Hajnoczi
2016-06-07 15:34 ` [Qemu-devel] [PULL 00/12] 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=1465309585-31551-11-git-send-email-stefanha@redhat.com \
    --to=stefanha@redhat.com \
    --cc=eblake@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).