sheepdog: fix savevm and loadvm
This patch sets data to be sent to Sheepdog correctly and fixes savevm
and loadvm operations on a Sheepdog image.
Signed-off-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
(cherry picked from commit 1f7a48de44
)
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
This commit is contained in:
parent
349b4e9070
commit
1fce4135f3
|
@ -1986,7 +1986,7 @@ static int do_load_save_vmstate(BDRVSheepdogState *s, uint8_t *data,
|
||||||
vdi_index = pos / SD_DATA_OBJ_SIZE;
|
vdi_index = pos / SD_DATA_OBJ_SIZE;
|
||||||
offset = pos % SD_DATA_OBJ_SIZE;
|
offset = pos % SD_DATA_OBJ_SIZE;
|
||||||
|
|
||||||
data_len = MIN(remaining, SD_DATA_OBJ_SIZE);
|
data_len = MIN(remaining, SD_DATA_OBJ_SIZE - offset);
|
||||||
|
|
||||||
vmstate_oid = vid_to_vmstate_oid(s->inode.vdi_id, vdi_index);
|
vmstate_oid = vid_to_vmstate_oid(s->inode.vdi_id, vdi_index);
|
||||||
|
|
||||||
|
@ -2007,6 +2007,7 @@ static int do_load_save_vmstate(BDRVSheepdogState *s, uint8_t *data,
|
||||||
}
|
}
|
||||||
|
|
||||||
pos += data_len;
|
pos += data_len;
|
||||||
|
data += data_len;
|
||||||
remaining -= data_len;
|
remaining -= data_len;
|
||||||
}
|
}
|
||||||
ret = size;
|
ret = size;
|
||||||
|
|
Loading…
Reference in New Issue