On 06/10/2016 10:05 AM, Kevin Wolf wrote: > The return value of .bdrv_load/save_vmstate() can be any non-negative > number in case of success now. It used to be bytes/-errno. > > Signed-off-by: Kevin Wolf <kw...@redhat.com> > --- > block/io.c | 16 ++++++++++++++-- > 1 file changed, 14 insertions(+), 2 deletions(-) > > diff --git a/block/io.c b/block/io.c > index 602c7d3..bca244c 100644 > --- a/block/io.c > +++ b/block/io.c > @@ -1839,9 +1839,16 @@ int bdrv_save_vmstate(BlockDriverState *bs, const > uint8_t *buf, > .iov_base = (void *) buf, > .iov_len = size, > }; > + int ret; > > qemu_iovec_init_external(&qiov, &iov, 1); > - return bdrv_writev_vmstate(bs, &qiov, pos); > + > + ret = bdrv_writev_vmstate(bs, &qiov, pos); > + if (ret < 0) { > + return ret; > + } > + > + return size; > } > > int bdrv_writev_vmstate(BlockDriverState *bs, QEMUIOVector *qiov, int64_t > pos) > @@ -1870,7 +1877,12 @@ int bdrv_load_vmstate(BlockDriverState *bs, uint8_t > *buf, > int ret;
Aha, my complaint in v2 about it being dead means you need to reinstate it here. > > qemu_iovec_init_external(&qiov, &iov, 1); > - return bdrv_readv_vmstate(bs, &qiov, pos); > + ret = bdrv_readv_vmstate(bs, &qiov, pos); > + if (ret < 0) { > + return ret; > + } > + > + return size; > } > > int bdrv_readv_vmstate(BlockDriverState *bs, QEMUIOVector *qiov, int64_t pos) > Matches the semantics we have elsewhere (I'm not sure if 'size' is the best choice if we ever need to support short read/write, but doesn't seem to hurt). Reviewed-by: Eric Blake <ebl...@redhat.com> -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature