[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 1/4] util/iov: Make qiov_slice() public
From: |
Eric Blake |
Subject: |
Re: [PATCH 1/4] util/iov: Make qiov_slice() public |
Date: |
Sat, 18 Mar 2023 07:06:40 -0500 |
User-agent: |
NeoMutt/20220429 |
On Fri, Mar 17, 2023 at 06:50:16PM +0100, Hanna Czenczek wrote:
> We want to inline qemu_iovec_init_extended() in block/io.c for padding
> requests, and having access to qiov_slice() is useful for this.
>
> (We will need to count the number of I/O vector elements of a slice
> there, and then later process this slice. Without qiov_slice(), we
> would need to call qemu_iovec_subvec_niov(), and all further
> IOV-processing functions may need to skip prefixing elements to
> accomodate for a qiov_offset. Because qemu_iovec_subvec_niov()
> internally calls qiov_slice(), we can just have the block/io.c code call
> qiov_slice() itself, thus get the number of elements, and also create an
> iovec array with the superfluous prefixing elements stripped, so the
> following processing functions no longer need to skip them.)
Might be worth mentioning in the commit message that you also renamed
it to qemu_iovec_slice() as part of exporting.
>
> Signed-off-by: Hanna Czenczek <hreitz@redhat.com>
> ---
> include/qemu/iov.h | 3 +++
> util/iov.c | 14 +++++++-------
> 2 files changed, 10 insertions(+), 7 deletions(-)
Reviewed-by: Eric Blake <eblake@redhat.com>
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org