All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kevin Wolf <kwolf@redhat.com>
To: anthony@codemonkey.ws
Cc: kwolf@redhat.com, qemu-devel@nongnu.org
Subject: [Qemu-devel] [PULL 12/30] sheepdog: explicitly set copies as type uint8_t
Date: Thu, 31 Oct 2013 16:48:26 +0100	[thread overview]
Message-ID: <1383234524-372-13-git-send-email-kwolf@redhat.com> (raw)
In-Reply-To: <1383234524-372-1-git-send-email-kwolf@redhat.com>

From: Liu Yuan <namei.unix@gmail.com>

'copies' is actually uint8_t since day one, but request headers and some helper
functions parameterize it as uint32_t for unknown reasons and effectively
reserve 24 bytes for possible future use. This patch explicitly set the correct
for copies and reserve the left bytes.

This is a preparation patch that allow passing copy_policy in request header.

Cc: Kevin Wolf <kwolf@redhat.com>
Cc: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Liu Yuan <namei.unix@gmail.com>
Acked-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
 block/sheepdog.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/block/sheepdog.c b/block/sheepdog.c
index 5f81c93..b8a2985 100644
--- a/block/sheepdog.c
+++ b/block/sheepdog.c
@@ -125,8 +125,8 @@ typedef struct SheepdogObjReq {
     uint32_t data_length;
     uint64_t oid;
     uint64_t cow_oid;
-    uint32_t copies;
-    uint32_t rsvd;
+    uint8_t copies;
+    uint8_t reserved[7];
     uint64_t offset;
 } SheepdogObjReq;
 
@@ -138,7 +138,8 @@ typedef struct SheepdogObjRsp {
     uint32_t id;
     uint32_t data_length;
     uint32_t result;
-    uint32_t copies;
+    uint8_t copies;
+    uint8_t reserved[3];
     uint32_t pad[6];
 } SheepdogObjRsp;
 
@@ -151,7 +152,8 @@ typedef struct SheepdogVdiReq {
     uint32_t data_length;
     uint64_t vdi_size;
     uint32_t vdi_id;
-    uint32_t copies;
+    uint8_t copies;
+    uint8_t reserved[3];
     uint32_t snapid;
     uint32_t pad[3];
 } SheepdogVdiReq;
@@ -1081,7 +1083,7 @@ static int coroutine_fn add_aio_request(BDRVSheepdogState *s, AIOReq *aio_req,
     return 0;
 }
 
-static int read_write_object(int fd, char *buf, uint64_t oid, int copies,
+static int read_write_object(int fd, char *buf, uint64_t oid, uint8_t copies,
                              unsigned int datalen, uint64_t offset,
                              bool write, bool create, uint32_t cache_flags)
 {
@@ -1129,7 +1131,7 @@ static int read_write_object(int fd, char *buf, uint64_t oid, int copies,
     }
 }
 
-static int read_object(int fd, char *buf, uint64_t oid, int copies,
+static int read_object(int fd, char *buf, uint64_t oid, uint8_t copies,
                        unsigned int datalen, uint64_t offset,
                        uint32_t cache_flags)
 {
@@ -1137,7 +1139,7 @@ static int read_object(int fd, char *buf, uint64_t oid, int copies,
                              false, cache_flags);
 }
 
-static int write_object(int fd, char *buf, uint64_t oid, int copies,
+static int write_object(int fd, char *buf, uint64_t oid, uint8_t copies,
                         unsigned int datalen, uint64_t offset, bool create,
                         uint32_t cache_flags)
 {
-- 
1.8.1.4

  parent reply	other threads:[~2013-10-31 15:49 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-31 15:48 [Qemu-devel] [PULL v2 00/30] Block patches Kevin Wolf
2013-10-31 15:48 ` [Qemu-devel] [PULL 01/30] qapi: fix documentation example Kevin Wolf
2013-10-31 15:48 ` [Qemu-devel] [PULL 02/30] qcow2: Restore total_sectors value in save_vmstate Kevin Wolf
2013-10-31 15:48 ` [Qemu-devel] [PULL 03/30] qcow2: Unset zero_beyond_eof " Kevin Wolf
2013-10-31 15:48 ` [Qemu-devel] [PULL 04/30] qemu-img: add special exit code if bdrv_check is not supported Kevin Wolf
2013-10-31 15:48 ` [Qemu-devel] [PULL 05/30] block/vpc: check that the image has not been truncated Kevin Wolf
2013-10-31 15:48 ` [Qemu-devel] [PULL 06/30] qemu-iotests: Test for loading VM state from qcow2 Kevin Wolf
2013-10-31 15:48 ` [Qemu-devel] [PULL 07/30] qcow2: Flush image after creation Kevin Wolf
2013-10-31 15:48 ` [Qemu-devel] [PULL 08/30] exec: Fix bounce buffer allocation in address_space_map() Kevin Wolf
2013-10-31 15:48 ` [Qemu-devel] [PULL 09/30] ide-test: Check what happens with bus mastering disabled Kevin Wolf
2013-10-31 15:48 ` [Qemu-devel] [PULL 10/30] tests: Multiboot mmap test case Kevin Wolf
2013-10-31 15:48 ` [Qemu-devel] [PULL 11/30] block: Don't copy backing file name on error Kevin Wolf
2013-10-31 15:48 ` Kevin Wolf [this message]
2013-10-31 15:48 ` [Qemu-devel] [PULL 13/30] sheepdog: pass copy_policy in the request Kevin Wolf
2013-10-31 15:48 ` [Qemu-devel] [PULL 14/30] ahci: fix win7 hang on boot Kevin Wolf
2013-10-31 15:48 ` [Qemu-devel] [PULL 15/30] block: Disable BDRV_O_COPY_ON_READ for the backing file Kevin Wolf
2013-10-31 15:48 ` [Qemu-devel] [PULL 16/30] block: Avoid unecessary drv->bdrv_getlength() calls Kevin Wolf
2013-10-31 15:48 ` [Qemu-devel] [PULL 17/30] qemu-iotests: Fix 051 reference output Kevin Wolf
2013-10-31 15:48 ` [Qemu-devel] [PULL 18/30] qemu-iotests: drop duplicated "create_image" Kevin Wolf
2013-10-31 15:48 ` [Qemu-devel] [PULL 19/30] qemu-iotests: Test case for backing file deletion Kevin Wolf
2013-10-31 15:48 ` [Qemu-devel] [PULL 20/30] sheepdog: check return values of qemu_co_recv/send correctly Kevin Wolf
2013-10-31 15:48 ` [Qemu-devel] [PULL 21/30] sheepdog: handle vdi objects in resend_aio_req Kevin Wolf
2013-10-31 15:48 ` [Qemu-devel] [PULL 22/30] sheepdog: reload inode outside of resend_aioreq Kevin Wolf
2013-10-31 15:48 ` [Qemu-devel] [PULL 23/30] coroutine: add co_aio_sleep_ns() to allow sleep in block drivers Kevin Wolf
2013-10-31 15:48 ` [Qemu-devel] [PULL 24/30] sheepdog: try to reconnect to sheepdog after network error Kevin Wolf
2013-10-31 15:48 ` [Qemu-devel] [PULL 25/30] sheepdog: make add_aio_request and send_aioreq void functions Kevin Wolf
2013-10-31 15:48 ` [Qemu-devel] [PULL 26/30] sheepdog: cancel aio requests if possible Kevin Wolf
2013-10-31 15:48 ` [Qemu-devel] [PULL 27/30] sheepdog: check simultaneous create in resend_aioreq Kevin Wolf
2013-10-31 15:48 ` [Qemu-devel] [PULL 28/30] qemu-iotests: prefill some data to test image Kevin Wolf
2013-10-31 15:48 ` [Qemu-devel] [PULL 29/30] qapi: Add optional field 'compressed' to ImageInfo Kevin Wolf
2013-10-31 15:48 ` [Qemu-devel] [PULL 30/30] vmdk: Implment bdrv_get_specific_info Kevin Wolf
2013-10-31 16:13   ` Eric Blake
2013-10-31 16:20     ` Kevin Wolf
2013-11-01  9:32       ` Fam Zheng
2013-10-31 20:50 ` [Qemu-devel] [PULL v2 00/30] Block patches Anthony Liguori
2013-10-31 21:52   ` Paolo Bonzini
2013-11-01  7:22     ` Anthony Liguori
2013-11-04 11:00   ` Kevin Wolf

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=1383234524-372-13-git-send-email-kwolf@redhat.com \
    --to=kwolf@redhat.com \
    --cc=anthony@codemonkey.ws \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.