[Qemu-devel] [PATCH v4 00/17] block: local qiov helper

Vladimir Sementsov-Ogievskiy posted 17 patches 5 years, 2 months ago
Test asan passed
Test docker-mingw@fedora passed
Test docker-clang@ubuntu failed
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20190218140926.333779-1-vsementsov@virtuozzo.com
Maintainers: Jeff Cody <jcody@redhat.com>, Kevin Wolf <kwolf@redhat.com>, Stefan Hajnoczi <stefanha@redhat.com>, "Denis V. Lunev" <den@openvz.org>, Max Reitz <mreitz@redhat.com>, Fam Zheng <fam@euphon.net>, John Snow <jsnow@redhat.com>, Juan Quintela <quintela@redhat.com>, "Dr. David Alan Gilbert" <dgilbert@redhat.com>
include/hw/ide/internal.h |  3 --
include/qemu/iov.h        | 64 +++++++++++++++++++++++++++-
block/backup.c            |  5 +--
block/block-backend.c     | 13 +-----
block/commit.c            |  7 +--
block/io.c                | 89 +++++++++------------------------------
block/parallels.c         | 13 +++---
block/qcow.c              | 21 ++-------
block/qcow2.c             | 12 +-----
block/qed-table.c         | 16 ++-----
block/qed.c               | 31 ++++----------
block/stream.c            |  7 +--
block/vmdk.c              |  7 +--
hw/ide/atapi.c            | 14 +++---
hw/ide/core.c             | 19 ++++-----
migration/block.c         | 10 ++---
qemu-img.c                | 10 +----
tests/test-bdrv-drain.c   | 29 ++-----------
18 files changed, 134 insertions(+), 236 deletions(-)
[Qemu-devel] [PATCH v4 00/17] block: local qiov helper
Posted by Vladimir Sementsov-Ogievskiy 5 years, 2 months ago
Hi all!

Here is a new simple helper for a very often patter
around qemu_iovec_init_external, when we need simple qiov with only
one iov, initialized from external buffer.

v4:
 01: tiny improvements by Eric
     + fix bug: s/niov/nalloc in assertion
     + rename s/qemu_iovec_get_buf/qemu_iovec_buf,
       to don't look like getter, which in turn should not return
       pointer to something internal to be freed separately.
     So, no r-b's in 01 
 07,10,16
    - rebase on new function name qemu_iovec_buf 
    - save r-b's by Eric and Stefan
 others unchanged, add r-b's by Eric and Stefan

v3:
  01-02: tiny improvements, described in patch-emails
  03-17: new patches

  Note: only hw/scsi/scsi-disk.c not updated, as it has too tricky
        logic around @iov fields of structures. So, it is simpler to
        keep it as is.

v2 was "[PATCH v2 0/2] block: local qiov helper: part I"
https://lists.gnu.org/archive/html/qemu-devel/2019-02/msg01610.html

Vladimir Sementsov-Ogievskiy (17):
  block: enhance QEMUIOVector structure
  block/io: use qemu_iovec_init_buf
  block/block-backend: use QEMU_IOVEC_INIT_BUF
  block/backup: use qemu_iovec_init_buf
  block/commit: use QEMU_IOVEC_INIT_BUF
  block/stream: use QEMU_IOVEC_INIT_BUF
  block/parallels: use QEMU_IOVEC_INIT_BUF
  block/qcow: use qemu_iovec_init_buf
  block/qcow2: use qemu_iovec_init_buf
  block/qed: use qemu_iovec_init_buf
  block/vmdk: use qemu_iovec_init_buf
  qemu-img: use qemu_iovec_init_buf
  migration/block: use qemu_iovec_init_buf
  tests/test-bdrv-drain: use QEMU_IOVEC_INIT_BUF
  hw/ide: drop iov field from IDEState
  hw/ide: drop iov field from IDEBufferedRequest
  hw/ide: drop iov field from IDEDMA

 include/hw/ide/internal.h |  3 --
 include/qemu/iov.h        | 64 +++++++++++++++++++++++++++-
 block/backup.c            |  5 +--
 block/block-backend.c     | 13 +-----
 block/commit.c            |  7 +--
 block/io.c                | 89 +++++++++------------------------------
 block/parallels.c         | 13 +++---
 block/qcow.c              | 21 ++-------
 block/qcow2.c             | 12 +-----
 block/qed-table.c         | 16 ++-----
 block/qed.c               | 31 ++++----------
 block/stream.c            |  7 +--
 block/vmdk.c              |  7 +--
 hw/ide/atapi.c            | 14 +++---
 hw/ide/core.c             | 19 ++++-----
 migration/block.c         | 10 ++---
 qemu-img.c                | 10 +----
 tests/test-bdrv-drain.c   | 29 ++-----------
 18 files changed, 134 insertions(+), 236 deletions(-)

-- 
2.18.0


Re: [Qemu-devel] [PATCH v4 00/17] block: local qiov helper
Posted by Stefan Hajnoczi 5 years, 2 months ago
On Mon, Feb 18, 2019 at 05:09:09PM +0300, Vladimir Sementsov-Ogievskiy wrote:
> Hi all!
> 
> Here is a new simple helper for a very often patter
> around qemu_iovec_init_external, when we need simple qiov with only
> one iov, initialized from external buffer.
> 
> v4:
>  01: tiny improvements by Eric
>      + fix bug: s/niov/nalloc in assertion
>      + rename s/qemu_iovec_get_buf/qemu_iovec_buf,
>        to don't look like getter, which in turn should not return
>        pointer to something internal to be freed separately.
>      So, no r-b's in 01 
>  07,10,16
>     - rebase on new function name qemu_iovec_buf 
>     - save r-b's by Eric and Stefan
>  others unchanged, add r-b's by Eric and Stefan
> 
> v3:
>   01-02: tiny improvements, described in patch-emails
>   03-17: new patches
> 
>   Note: only hw/scsi/scsi-disk.c not updated, as it has too tricky
>         logic around @iov fields of structures. So, it is simpler to
>         keep it as is.
> 
> v2 was "[PATCH v2 0/2] block: local qiov helper: part I"
> https://lists.gnu.org/archive/html/qemu-devel/2019-02/msg01610.html
> 
> Vladimir Sementsov-Ogievskiy (17):
>   block: enhance QEMUIOVector structure
>   block/io: use qemu_iovec_init_buf
>   block/block-backend: use QEMU_IOVEC_INIT_BUF
>   block/backup: use qemu_iovec_init_buf
>   block/commit: use QEMU_IOVEC_INIT_BUF
>   block/stream: use QEMU_IOVEC_INIT_BUF
>   block/parallels: use QEMU_IOVEC_INIT_BUF
>   block/qcow: use qemu_iovec_init_buf
>   block/qcow2: use qemu_iovec_init_buf
>   block/qed: use qemu_iovec_init_buf
>   block/vmdk: use qemu_iovec_init_buf
>   qemu-img: use qemu_iovec_init_buf
>   migration/block: use qemu_iovec_init_buf
>   tests/test-bdrv-drain: use QEMU_IOVEC_INIT_BUF
>   hw/ide: drop iov field from IDEState
>   hw/ide: drop iov field from IDEBufferedRequest
>   hw/ide: drop iov field from IDEDMA
> 
>  include/hw/ide/internal.h |  3 --
>  include/qemu/iov.h        | 64 +++++++++++++++++++++++++++-
>  block/backup.c            |  5 +--
>  block/block-backend.c     | 13 +-----
>  block/commit.c            |  7 +--
>  block/io.c                | 89 +++++++++------------------------------
>  block/parallels.c         | 13 +++---
>  block/qcow.c              | 21 ++-------
>  block/qcow2.c             | 12 +-----
>  block/qed-table.c         | 16 ++-----
>  block/qed.c               | 31 ++++----------
>  block/stream.c            |  7 +--
>  block/vmdk.c              |  7 +--
>  hw/ide/atapi.c            | 14 +++---
>  hw/ide/core.c             | 19 ++++-----
>  migration/block.c         | 10 ++---
>  qemu-img.c                | 10 +----
>  tests/test-bdrv-drain.c   | 29 ++-----------
>  18 files changed, 134 insertions(+), 236 deletions(-)
> 
> -- 
> 2.18.0
> 
> 

Thanks, applied to my block tree:
https://github.com/stefanha/qemu/commits/block

Stefan