Re: [Qemu-devel] [PATCH 1.1 v2] sheepdog: fix return value of do_load_save_vm_state

2012-05-30 Thread Kevin Wolf
Am 29.05.2012 18:05, schrieb MORITA Kazutaka:
 bdrv_save_vmstate and bdrv_load_vmstate should return the vmstate size
 on success, and -errno on error.
 
 Signed-off-by: MORITA Kazutaka morita.kazut...@lab.ntt.co.jp
 ---
 Changes from v1
  - return an error for short reads/writes
  - fix a coding style problem

Thanks, applied to the block branch.

Kevin



[Qemu-devel] [PATCH 1.1 v2] sheepdog: fix return value of do_load_save_vm_state

2012-05-29 Thread MORITA Kazutaka
bdrv_save_vmstate and bdrv_load_vmstate should return the vmstate size
on success, and -errno on error.

Signed-off-by: MORITA Kazutaka morita.kazut...@lab.ntt.co.jp
---
Changes from v1
 - return an error for short reads/writes
 - fix a coding style problem

 block/sheepdog.c |   10 +-
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/block/sheepdog.c b/block/sheepdog.c
index 6d52277..f46ca8f 100644
--- a/block/sheepdog.c
+++ b/block/sheepdog.c
@@ -1957,7 +1957,7 @@ static int do_load_save_vmstate(BDRVSheepdogState *s, 
uint8_t *data,
 int64_t pos, int size, int load)
 {
 int fd, create;
-int ret = 0;
+int ret = 0, remaining = size;
 unsigned int data_len;
 uint64_t vmstate_oid;
 uint32_t vdi_index;
@@ -1968,11 +1968,11 @@ static int do_load_save_vmstate(BDRVSheepdogState *s, 
uint8_t *data,
 return fd;
 }
 
-while (size) {
+while (remaining) {
 vdi_index = pos / SD_DATA_OBJ_SIZE;
 offset = pos % SD_DATA_OBJ_SIZE;
 
-data_len = MIN(size, SD_DATA_OBJ_SIZE);
+data_len = MIN(remaining, SD_DATA_OBJ_SIZE);
 
 vmstate_oid = vid_to_vmstate_oid(s-inode.vdi_id, vdi_index);
 
@@ -1993,9 +1993,9 @@ static int do_load_save_vmstate(BDRVSheepdogState *s, 
uint8_t *data,
 }
 
 pos += data_len;
-size -= data_len;
-ret += data_len;
+remaining -= data_len;
 }
+ret = size;
 cleanup:
 closesocket(fd);
 return ret;
-- 
1.7.2.5