qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-block] [PATCH 2/6] block: Make .bdrv_load_vmstate() vectored


From: Eric Blake
Subject: Re: [Qemu-block] [PATCH 2/6] block: Make .bdrv_load_vmstate() vectored
Date: Fri, 10 Jun 2016 15:25:59 -0600
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0

On 06/10/2016 10:05 AM, Kevin Wolf wrote:
> This brings it in line with .bdrv_save_vmstate().
> 
> Signed-off-by: Kevin Wolf <address@hidden>
> ---
>  block/io.c                | 26 +++++++++++++++++++++-----
>  block/qcow2.c             |  6 +++---
>  block/sheepdog.c          | 13 ++++++++++---
>  include/block/block.h     |  1 +
>  include/block/block_int.h |  4 ++--
>  5 files changed, 37 insertions(+), 13 deletions(-)
> 
> diff --git a/block/io.c b/block/io.c
> index 11510cf..602c7d3 100644
> --- a/block/io.c
> +++ b/block/io.c
> @@ -1862,13 +1862,29 @@ int bdrv_writev_vmstate(BlockDriverState *bs, 
> QEMUIOVector *qiov, int64_t pos)
>  int bdrv_load_vmstate(BlockDriverState *bs, uint8_t *buf,
>                        int64_t pos, int size)
>  {
> +    QEMUIOVector qiov;
> +    struct iovec iov = {
> +        .iov_base   = buf,
> +        .iov_len    = size,
> +    };
> +    int ret;

Dead variable.

> +
> +    qemu_iovec_init_external(&qiov, &iov, 1);
> +    return bdrv_readv_vmstate(bs, &qiov, pos);
> +}
> +
> +int bdrv_readv_vmstate(BlockDriverState *bs, QEMUIOVector *qiov, int64_t pos)
> +{
>      BlockDriver *drv = bs->drv;
> -    if (!drv)
> +
> +    if (!drv) {
>          return -ENOMEDIUM;
> -    if (drv->bdrv_load_vmstate)
> -        return drv->bdrv_load_vmstate(bs, buf, pos, size);
> -    if (bs->file)
> -        return bdrv_load_vmstate(bs->file->bs, buf, pos, size);
> +    } else if (drv->bdrv_load_vmstate) {
> +        return drv->bdrv_load_vmstate(bs, qiov, pos);
> +    } else if (bs->file) {
> +        return bdrv_readv_vmstate(bs->file->bs, qiov, pos);
> +    }

Don't know that I would have used 'else if' after a return, but it's not
wrong, so no need to change.

With the dead 'ret' gone,
Reviewed-by: Eric Blake <address@hidden>

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]