diff options
author | Kevin Wolf <kwolf@redhat.com> | 2016-06-09 16:50:16 +0200 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2016-06-16 15:19:55 +0200 |
commit | 5ddda0b8f0c07c8082c87d248c8eb23f43fd44a1 (patch) | |
tree | 33b4b848efc8ff105528baa6bd19cce6df446b93 /block/sheepdog.c | |
parent | f1e8474115d6be7eda14092050ffa2b031afb729 (diff) | |
download | qemu-5ddda0b8f0c07c8082c87d248c8eb23f43fd44a1.tar.gz qemu-5ddda0b8f0c07c8082c87d248c8eb23f43fd44a1.tar.bz2 qemu-5ddda0b8f0c07c8082c87d248c8eb23f43fd44a1.zip |
block: Make .bdrv_load_vmstate() vectored
This brings it in line with .bdrv_save_vmstate().
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Fam Zheng <famz@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'block/sheepdog.c')
-rw-r--r-- | block/sheepdog.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/block/sheepdog.c b/block/sheepdog.c index 23fbace1f9..ef5d044ab9 100644 --- a/block/sheepdog.c +++ b/block/sheepdog.c @@ -2784,12 +2784,19 @@ static int sd_save_vmstate(BlockDriverState *bs, QEMUIOVector *qiov, return ret; } -static int sd_load_vmstate(BlockDriverState *bs, uint8_t *data, - int64_t pos, int size) +static int sd_load_vmstate(BlockDriverState *bs, QEMUIOVector *qiov, + int64_t pos) { BDRVSheepdogState *s = bs->opaque; + void *buf; + int ret; - return do_load_save_vmstate(s, data, pos, size, 1); + buf = qemu_blockalign(bs, qiov->size); + ret = do_load_save_vmstate(s, buf, pos, qiov->size, 1); + qemu_iovec_from_buf(qiov, 0, buf, qiov->size); + qemu_vfree(buf); + + return ret; } |