[PATCH 0/4] block: Split padded I/O vectors exceeding IOV_MAX

Hanna Czenczek posted 4 patches 1 year, 1 month ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20230317175019.10857-1-hreitz@redhat.com
Maintainers: Stefan Hajnoczi <stefanha@redhat.com>, Fam Zheng <fam@euphon.net>, Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>
There is a newer version of this series
include/qemu/iov.h                       |   8 +-
block/io.c                               | 153 +++++++++++++++++++++--
util/iov.c                               |  89 +++----------
tests/qemu-iotests/tests/iov-padding     |  85 +++++++++++++
tests/qemu-iotests/tests/iov-padding.out |  59 +++++++++
5 files changed, 306 insertions(+), 88 deletions(-)
create mode 100755 tests/qemu-iotests/tests/iov-padding
create mode 100644 tests/qemu-iotests/tests/iov-padding.out
[PATCH 0/4] block: Split padded I/O vectors exceeding IOV_MAX
Posted by Hanna Czenczek 1 year, 1 month ago
RFC:
https://lists.nongnu.org/archive/html/qemu-block/2023-03/msg00446.html

Thanks for the feedback on the RFC!  Sounds like we agree that this is
the right way to fix the bug.

Here in v1, I’ve followed Vladimir’s suggestion to inline the
functionality of qemu_iovec_init_extended() in block/io.c, which, I
think (hope), also addresses much of the feedback of Eric and Stefan.

The test is unchanged, the rest is pretty much rewritten (though in
spirit stays the same).


Hanna Czenczek (4):
  util/iov: Make qiov_slice() public
  block: Split padded I/O vectors exceeding IOV_MAX
  util/iov: Remove qemu_iovec_init_extended()
  iotests/iov-padding: New test

 include/qemu/iov.h                       |   8 +-
 block/io.c                               | 153 +++++++++++++++++++++--
 util/iov.c                               |  89 +++----------
 tests/qemu-iotests/tests/iov-padding     |  85 +++++++++++++
 tests/qemu-iotests/tests/iov-padding.out |  59 +++++++++
 5 files changed, 306 insertions(+), 88 deletions(-)
 create mode 100755 tests/qemu-iotests/tests/iov-padding
 create mode 100644 tests/qemu-iotests/tests/iov-padding.out

-- 
2.39.1


Re: [PATCH 0/4] block: Split padded I/O vectors exceeding IOV_MAX
Posted by Stefan Hajnoczi 1 year ago
On Fri, Mar 17, 2023 at 06:50:15PM +0100, Hanna Czenczek wrote:
> RFC:
> https://lists.nongnu.org/archive/html/qemu-block/2023-03/msg00446.html
> 
> Thanks for the feedback on the RFC!  Sounds like we agree that this is
> the right way to fix the bug.
> 
> Here in v1, I’ve followed Vladimir’s suggestion to inline the
> functionality of qemu_iovec_init_extended() in block/io.c, which, I
> think (hope), also addresses much of the feedback of Eric and Stefan.
> 
> The test is unchanged, the rest is pretty much rewritten (though in
> spirit stays the same).
> 
> 
> Hanna Czenczek (4):
>   util/iov: Make qiov_slice() public
>   block: Split padded I/O vectors exceeding IOV_MAX
>   util/iov: Remove qemu_iovec_init_extended()
>   iotests/iov-padding: New test
> 
>  include/qemu/iov.h                       |   8 +-
>  block/io.c                               | 153 +++++++++++++++++++++--
>  util/iov.c                               |  89 +++----------
>  tests/qemu-iotests/tests/iov-padding     |  85 +++++++++++++
>  tests/qemu-iotests/tests/iov-padding.out |  59 +++++++++
>  5 files changed, 306 insertions(+), 88 deletions(-)
>  create mode 100755 tests/qemu-iotests/tests/iov-padding
>  create mode 100644 tests/qemu-iotests/tests/iov-padding.out

Acked-by: Stefan Hajnoczi <stefanha@redhat.com>