]>
Commit | Line | Data |
---|---|---|
6f987f16 DM |
1 | From 1f7a48de4467f31afc51169122453318efdb0f33 Mon Sep 17 00:00:00 2001 |
2 | From: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp> | |
3 | Date: Thu, 30 Aug 2012 03:39:45 +0900 | |
4 | Subject: [PATCH] sheepdog: fix savevm and loadvm | |
5 | ||
6 | This patch sets data to be sent to Sheepdog correctly and fixes savevm | |
7 | and loadvm operations on a Sheepdog image. | |
8 | ||
9 | Signed-off-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp> | |
10 | Signed-off-by: Kevin Wolf <kwolf@redhat.com> | |
11 | --- | |
12 | block/sheepdog.c | 3 ++- | |
13 | 1 files changed, 2 insertions(+), 1 deletions(-) | |
14 | ||
15 | diff --git a/block/sheepdog.c b/block/sheepdog.c | |
16 | index df4f441..e0753ee 100644 | |
17 | --- a/block/sheepdog.c | |
18 | +++ b/block/sheepdog.c | |
19 | @@ -1986,7 +1986,7 @@ static int do_load_save_vmstate(BDRVSheepdogState *s, uint8_t *data, | |
20 | vdi_index = pos / SD_DATA_OBJ_SIZE; | |
21 | offset = pos % SD_DATA_OBJ_SIZE; | |
22 | ||
23 | - data_len = MIN(remaining, SD_DATA_OBJ_SIZE); | |
24 | + data_len = MIN(remaining, SD_DATA_OBJ_SIZE - offset); | |
25 | ||
26 | vmstate_oid = vid_to_vmstate_oid(s->inode.vdi_id, vdi_index); | |
27 | ||
28 | @@ -2007,6 +2007,7 @@ static int do_load_save_vmstate(BDRVSheepdogState *s, uint8_t *data, | |
29 | } | |
30 | ||
31 | pos += data_len; | |
32 | + data += data_len; | |
33 | remaining -= data_len; | |
34 | } | |
35 | ret = size; | |
36 | -- | |
37 | 1.7.0.4 |