[Qemu-devel] [PULL 00/35] Block layer patches

Kevin Wolf posted 35 patches 5 years, 9 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20180618164504.24488-1-kwolf@redhat.com
Test checkpatch failed
Test docker-mingw@fedora passed
Test docker-quick@centos7 passed
Test s390x passed
There is a newer version of this series
qapi/block-core.json         |  29 +-
include/block/aio-wait.h     |  25 +-
include/block/block.h        |  31 +-
include/block/block_int.h    |  18 +-
include/block/blockjob_int.h |   8 +
include/block/dirty-bitmap.h |   2 +
include/qemu/hbitmap.h       |   5 +-
include/qemu/job.h           |  15 +
block.c                      |  96 +++++-
block/backup.c               |   2 +-
block/block-backend.c        |   5 +
block/dirty-bitmap.c         |  57 +++-
block/io.c                   | 332 ++++++++++++--------
block/mirror.c               | 613 +++++++++++++++++++++++++++++--------
block/vvfat.c                |   1 +
blockdev.c                   |   9 +-
blockjob.c                   |  23 ++
job.c                        |   5 +
tests/test-bdrv-drain.c      | 705 +++++++++++++++++++++++++++++++++++++++++--
tests/test-hbitmap.c         |  38 ++-
util/hbitmap.c               |  10 +-
tests/qemu-iotests/151       | 120 ++++++++
tests/qemu-iotests/151.out   |   5 +
tests/qemu-iotests/group     |   1 +
24 files changed, 1836 insertions(+), 319 deletions(-)
create mode 100755 tests/qemu-iotests/151
create mode 100644 tests/qemu-iotests/151.out
[Qemu-devel] [PULL 00/35] Block layer patches
Posted by Kevin Wolf 5 years, 9 months ago
The following changes since commit 2ef2f16781af9dee6ba6517755e9073ba5799fa2:

  Merge remote-tracking branch 'remotes/dgilbert/tags/pull-migration-20180615a' into staging (2018-06-15 18:13:35 +0100)

are available in the git repository at:

  git://repo.or.cz/qemu/kevin.git tags/for-upstream

for you to fetch changes up to 4c790afe2503eab12874508acab5b388d7babfd2:

  Merge remote-tracking branch 'mreitz/tags/pull-block-2018-06-18' into queue-block (2018-06-18 17:20:42 +0200)

----------------------------------------------------------------
Block layer patches:

- Active mirror (blockdev-mirror copy-mode=write-blocking)
- bdrv_drain_*() fixes and test cases
- Fix crash with scsi-hd and drive_del

----------------------------------------------------------------
Greg Kurz (1):
      block: fix QEMU crash with scsi-hd and drive_del

Kevin Wolf (20):
      test-bdrv-drain: bdrv_drain() works with cross-AioContext events
      block: Use bdrv_do_drain_begin/end in bdrv_drain_all()
      block: Remove 'recursive' parameter from bdrv_drain_invoke()
      block: Don't manually poll in bdrv_drain_all()
      tests/test-bdrv-drain: bdrv_drain_all() works in coroutines now
      block: Avoid unnecessary aio_poll() in AIO_WAIT_WHILE()
      block: Really pause block jobs on drain
      block: Remove bdrv_drain_recurse()
      block: Drain recursively with a single BDRV_POLL_WHILE()
      test-bdrv-drain: Test node deletion in subtree recursion
      block: Don't poll in parent drain callbacks
      test-bdrv-drain: Graph change through parent callback
      block: Defer .bdrv_drain_begin callback to polling phase
      test-bdrv-drain: Test that bdrv_drain_invoke() doesn't poll
      block: Allow AIO_WAIT_WHILE with NULL ctx
      block: Move bdrv_drain_all_begin() out of coroutine context
      block: ignore_bds_parents parameter for drain functions
      block: Allow graph changes in bdrv_drain_all_begin/end sections
      test-bdrv-drain: Test graph changes in drain_all section
      Merge remote-tracking branch 'mreitz/tags/pull-block-2018-06-18' into queue-block

Max Reitz (15):
      test-bdrv-drain: Add test for node deletion
      block/mirror: Pull out mirror_perform()
      block/mirror: Convert to coroutines
      block/mirror: Use CoQueue to wait on in-flight ops
      block/mirror: Wait for in-flight op conflicts
      block/mirror: Use source as a BdrvChild
      block: Generalize should_update_child() rule
      hbitmap: Add @advance param to hbitmap_iter_next()
      test-hbitmap: Add non-advancing iter_next tests
      block/dirty-bitmap: Add bdrv_dirty_iter_next_area
      block/mirror: Add MirrorBDSOpaque
      job: Add job_progress_increase_remaining()
      block/mirror: Add active mirroring
      block/mirror: Add copy mode QAPI interface
      iotests: Add test for active mirroring

 qapi/block-core.json         |  29 +-
 include/block/aio-wait.h     |  25 +-
 include/block/block.h        |  31 +-
 include/block/block_int.h    |  18 +-
 include/block/blockjob_int.h |   8 +
 include/block/dirty-bitmap.h |   2 +
 include/qemu/hbitmap.h       |   5 +-
 include/qemu/job.h           |  15 +
 block.c                      |  96 +++++-
 block/backup.c               |   2 +-
 block/block-backend.c        |   5 +
 block/dirty-bitmap.c         |  57 +++-
 block/io.c                   | 332 ++++++++++++--------
 block/mirror.c               | 613 +++++++++++++++++++++++++++++--------
 block/vvfat.c                |   1 +
 blockdev.c                   |   9 +-
 blockjob.c                   |  23 ++
 job.c                        |   5 +
 tests/test-bdrv-drain.c      | 705 +++++++++++++++++++++++++++++++++++++++++--
 tests/test-hbitmap.c         |  38 ++-
 util/hbitmap.c               |  10 +-
 tests/qemu-iotests/151       | 120 ++++++++
 tests/qemu-iotests/151.out   |   5 +
 tests/qemu-iotests/group     |   1 +
 24 files changed, 1836 insertions(+), 319 deletions(-)
 create mode 100755 tests/qemu-iotests/151
 create mode 100644 tests/qemu-iotests/151.out

Re: [Qemu-devel] [PULL 00/35] Block layer patches
Posted by no-reply@patchew.org 5 years, 9 months ago
Hi,

This series seems to have some coding style problems. See output below for
more information:

Type: series
Message-id: 20180618164504.24488-1-kwolf@redhat.com
Subject: [Qemu-devel] [PULL 00/35] Block layer patches

=== TEST SCRIPT BEGIN ===
#!/bin/bash

BASE=base
n=1
total=$(git log --oneline $BASE.. | wc -l)
failed=0

git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram

commits="$(git log --format=%H --reverse $BASE..)"
for c in $commits; do
    echo "Checking PATCH $n/$total: $(git log -n 1 --format=%s $c)..."
    if ! git show $c --format=email | ./scripts/checkpatch.pl --mailback -; then
        failed=1
        echo
    fi
    n=$((n+1))
done

exit $failed
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
 * [new tag]               patchew/20180618164504.24488-1-kwolf@redhat.com -> patchew/20180618164504.24488-1-kwolf@redhat.com
Switched to a new branch 'test'
261e944402 iotests: Add test for active mirroring
d3a0ca0eea block/mirror: Add copy mode QAPI interface
b764786814 block/mirror: Add active mirroring
8895e3d343 job: Add job_progress_increase_remaining()
bbf2bb9443 block/mirror: Add MirrorBDSOpaque
ba9ab133e7 block/dirty-bitmap: Add bdrv_dirty_iter_next_area
e30cbdb941 test-hbitmap: Add non-advancing iter_next tests
5e2182782b hbitmap: Add @advance param to hbitmap_iter_next()
36f4266813 block: Generalize should_update_child() rule
ba264cc757 block/mirror: Use source as a BdrvChild
063fc71753 block/mirror: Wait for in-flight op conflicts
af955a4481 block/mirror: Use CoQueue to wait on in-flight ops
997541f920 block/mirror: Convert to coroutines
b64d9ae31a block/mirror: Pull out mirror_perform()
663ef8298d block: fix QEMU crash with scsi-hd and drive_del
6c3f8c482a test-bdrv-drain: Test graph changes in drain_all section
68fc9aff1c block: Allow graph changes in bdrv_drain_all_begin/end sections
d1d3ed6904 block: ignore_bds_parents parameter for drain functions
f8c0b911e0 block: Move bdrv_drain_all_begin() out of coroutine context
a3788f4f63 block: Allow AIO_WAIT_WHILE with NULL ctx
b81b248bc3 test-bdrv-drain: Test that bdrv_drain_invoke() doesn't poll
ded108f0fe block: Defer .bdrv_drain_begin callback to polling phase
bba3bdfe5c test-bdrv-drain: Graph change through parent callback
caee2b495b block: Don't poll in parent drain callbacks
b53788a5c5 test-bdrv-drain: Test node deletion in subtree recursion
9463657eee block: Drain recursively with a single BDRV_POLL_WHILE()
7d60930932 test-bdrv-drain: Add test for node deletion
bf34a48b66 block: Remove bdrv_drain_recurse()
2b0389a675 block: Really pause block jobs on drain
f47738d5fb block: Avoid unnecessary aio_poll() in AIO_WAIT_WHILE()
b942cc966d tests/test-bdrv-drain: bdrv_drain_all() works in coroutines now
b42befd0f8 block: Don't manually poll in bdrv_drain_all()
8e5f337a97 block: Remove 'recursive' parameter from bdrv_drain_invoke()
dbe66b7ff7 block: Use bdrv_do_drain_begin/end in bdrv_drain_all()
e2fdbc78df test-bdrv-drain: bdrv_drain() works with cross-AioContext events

=== OUTPUT BEGIN ===
Checking PATCH 1/35: test-bdrv-drain: bdrv_drain() works with cross-AioContext events...
Checking PATCH 2/35: block: Use bdrv_do_drain_begin/end in bdrv_drain_all()...
Checking PATCH 3/35: block: Remove 'recursive' parameter from bdrv_drain_invoke()...
Checking PATCH 4/35: block: Don't manually poll in bdrv_drain_all()...
Checking PATCH 5/35: tests/test-bdrv-drain: bdrv_drain_all() works in coroutines now...
Checking PATCH 6/35: block: Avoid unnecessary aio_poll() in AIO_WAIT_WHILE()...
ERROR: trailing statements should be on next line
#38: FILE: block/io.c:190:
+    while (aio_poll(bs->aio_context, false));

ERROR: braces {} are necessary for all arms of this statement
#38: FILE: block/io.c:190:
+    while (aio_poll(bs->aio_context, false));
[...]

total: 2 errors, 0 warnings, 60 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

Checking PATCH 7/35: block: Really pause block jobs on drain...
Checking PATCH 8/35: block: Remove bdrv_drain_recurse()...
Checking PATCH 9/35: test-bdrv-drain: Add test for node deletion...
Checking PATCH 10/35: block: Drain recursively with a single BDRV_POLL_WHILE()...
Checking PATCH 11/35: test-bdrv-drain: Test node deletion in subtree recursion...
WARNING: line over 80 characters
#85: FILE: tests/test-bdrv-drain.c:1034:
+    g_test_add_func("/bdrv-drain/detach/drain_subtree", test_detach_by_drain_subtree);

total: 0 errors, 1 warnings, 68 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
Checking PATCH 12/35: block: Don't poll in parent drain callbacks...
Checking PATCH 13/35: test-bdrv-drain: Graph change through parent callback...
WARNING: line over 80 characters
#81: FILE: tests/test-bdrv-drain.c:1049:
+    child_a = bdrv_attach_child(parent_b, a, "PB-A", &child_backing, &error_abort);

total: 0 errors, 1 warnings, 142 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
Checking PATCH 14/35: block: Defer .bdrv_drain_begin callback to polling phase...
Checking PATCH 15/35: test-bdrv-drain: Test that bdrv_drain_invoke() doesn't poll...
Checking PATCH 16/35: block: Allow AIO_WAIT_WHILE with NULL ctx...
Checking PATCH 17/35: block: Move bdrv_drain_all_begin() out of coroutine context...
WARNING: line over 80 characters
#27: FILE: block/io.c:270:
+            bdrv_do_drained_begin(bs, data->recursive, data->parent, data->poll);

total: 0 errors, 1 warnings, 41 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
Checking PATCH 18/35: block: ignore_bds_parents parameter for drain functions...
Checking PATCH 19/35: block: Allow graph changes in bdrv_drain_all_begin/end sections...
ERROR: do not initialise globals to 0 or NULL
#123: FILE: block/io.c:477:
+unsigned int bdrv_drain_all_count = 0;

ERROR: trailing statements should be on next line
#132: FILE: block/io.c:486:
+    while (aio_poll(qemu_get_aio_context(), false));

ERROR: braces {} are necessary for all arms of this statement
#132: FILE: block/io.c:486:
+    while (aio_poll(qemu_get_aio_context(), false));
[...]

total: 3 errors, 0 warnings, 193 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

Checking PATCH 20/35: test-bdrv-drain: Test graph changes in drain_all section...
Checking PATCH 21/35: block: fix QEMU crash with scsi-hd and drive_del...
Checking PATCH 22/35: block/mirror: Pull out mirror_perform()...
Checking PATCH 23/35: block/mirror: Convert to coroutines...
Checking PATCH 24/35: block/mirror: Use CoQueue to wait on in-flight ops...
Checking PATCH 25/35: block/mirror: Wait for in-flight op conflicts...
Checking PATCH 26/35: block/mirror: Use source as a BdrvChild...
Checking PATCH 27/35: block: Generalize should_update_child() rule...
Checking PATCH 28/35: hbitmap: Add @advance param to hbitmap_iter_next()...
Checking PATCH 29/35: test-hbitmap: Add non-advancing iter_next tests...
Checking PATCH 30/35: block/dirty-bitmap: Add bdrv_dirty_iter_next_area...
Checking PATCH 31/35: block/mirror: Add MirrorBDSOpaque...
Checking PATCH 32/35: job: Add job_progress_increase_remaining()...
Checking PATCH 33/35: block/mirror: Add active mirroring...
Checking PATCH 34/35: block/mirror: Add copy mode QAPI interface...
Checking PATCH 35/35: iotests: Add test for active mirroring...
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#14: 
new file mode 100755

total: 0 errors, 1 warnings, 132 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
=== OUTPUT END ===

Test command exited with code: 1


---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@redhat.com
Re: [Qemu-devel] [PULL 00/35] Block layer patches
Posted by Peter Maydell 5 years, 9 months ago
On 18 June 2018 at 17:44, Kevin Wolf <kwolf@redhat.com> wrote:
> The following changes since commit 2ef2f16781af9dee6ba6517755e9073ba5799fa2:
>
>   Merge remote-tracking branch 'remotes/dgilbert/tags/pull-migration-20180615a' into staging (2018-06-15 18:13:35 +0100)
>
> are available in the git repository at:
>
>   git://repo.or.cz/qemu/kevin.git tags/for-upstream
>
> for you to fetch changes up to 4c790afe2503eab12874508acab5b388d7babfd2:
>
>   Merge remote-tracking branch 'mreitz/tags/pull-block-2018-06-18' into queue-block (2018-06-18 17:20:42 +0200)
>
> ----------------------------------------------------------------
> Block layer patches:
>
> - Active mirror (blockdev-mirror copy-mode=write-blocking)
> - bdrv_drain_*() fixes and test cases
> - Fix crash with scsi-hd and drive_del
>

Applied, thanks.

-- PMM