[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [PATCH 1/6] block: Introduce bdrv_preadv()
From: |
Eric Blake |
Subject: |
Re: [Qemu-block] [PATCH 1/6] block: Introduce bdrv_preadv() |
Date: |
Fri, 10 Jun 2016 14:50:00 -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:
> We already have a byte-based bdrv_pwritev(), but the read counterpart
> was still missing. This commit adds it.
>
> Signed-off-by: Kevin Wolf <address@hidden>
> ---
> block/io.c | 20 +++++++++++++-------
> include/block/block.h | 1 +
> 2 files changed, 14 insertions(+), 7 deletions(-)
>
Worth adding a flags argument while at it? But bdrv_pwritev() lacks one,
so for symmetry reasons, I'm okay if you don't bother.
> +int bdrv_preadv(BlockDriverState *bs, int64_t offset, QEMUIOVector *qiov)
> +{
> + int ret;
> +
> + ret = bdrv_prwv_co(bs, offset, qiov, false, 0);
> + if (ret < 0) {
> + return ret;
> + }
> +
> + return qiov->size;
This implies we never have a short read, it's an all-or-none error or
success. Matches what we've done elsewhere, so I guess it's right.
Reviewed-by: Eric Blake <address@hidden>
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
- [Qemu-block] [PATCH 0/6] block: bdrv_load/save_vmstate() cleanups, Kevin Wolf, 2016/06/10
- [Qemu-block] [PATCH 3/6] block: Allow .bdrv_load/save_vmstate() to return 0/-errno, Kevin Wolf, 2016/06/10
- [Qemu-block] [PATCH 1/6] block: Introduce bdrv_preadv(), Kevin Wolf, 2016/06/10
- Re: [Qemu-block] [PATCH 1/6] block: Introduce bdrv_preadv(),
Eric Blake <=
- [Qemu-block] [PATCH 2/6] block: Make .bdrv_load_vmstate() vectored, Kevin Wolf, 2016/06/10
- [Qemu-block] [PATCH 4/6] block: Make bdrv_load/save_vmstate coroutine_fns, Kevin Wolf, 2016/06/10
- [Qemu-block] [PATCH 5/6] qcow2: Let vmstate call qcow2_co_preadv/pwrite directly, Kevin Wolf, 2016/06/10
- [Qemu-block] [PATCH 6/6] block: Remove bs->zero_beyond_eof, Kevin Wolf, 2016/06/10