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 <hre...@redhat.com> > --- > include/qemu/iov.h | 3 +++ > util/iov.c | 14 +++++++------- > 2 files changed, 10 insertions(+), 7 deletions(-) Reviewed-by: Eric Blake <ebl...@redhat.com> -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org