[PULL,00/28] Block layer patches
mbox

Message ID 20190603150233.6614-1-kwolf@redhat.com
State New
Headers show

Pull-request

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

Message

Kevin Wolf June 3, 2019, 3:02 p.m. UTC
The following changes since commit ad88e4252f09c2956b99c90de39e95bab2e8e7af:

  Merge remote-tracking branch 'remotes/amarkovic/tags/mips-queue-jun-1-2019' into staging (2019-06-03 10:25:12 +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 9593db8ccd27800ce4a17f1d5b735b9130c541a2:

  iotests: Fix duplicated diff output on failure (2019-06-03 16:33:20 +0200)

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

- block: AioContext management, part 2
- Avoid recursive block_status call (i.e. lseek() calls) if possible
- linux-aio: Drop unused BlockAIOCB submission method
- nvme: add Get/Set Feature Timestamp support
- Fix crash on commit job start with active I/O on base node
- Fix crash in bdrv_drained_end
- Fix integer overflow in qcow2 discard

----------------------------------------------------------------
John Snow (1):
      blockdev: fix missed target unref for drive-backup

Julia Suvorova (1):
      block/linux-aio: Drop unused BlockAIOCB submission method

Kenneth Heitke (1):
      nvme: add Get/Set Feature Timestamp support

Kevin Wolf (19):
      block: Drain source node in bdrv_replace_node()
      iotests: Test commit job start with concurrent I/O
      test-block-iothread: Check filter node in test_propagate_mirror
      nbd-server: Call blk_set_allow_aio_context_change()
      block: Add Error to blk_set_aio_context()
      block: Add BlockBackend.ctx
      block: Add qdev_prop_drive_iothread property type
      scsi-disk: Use qdev_prop_drive_iothread
      block: Adjust AioContexts when attaching nodes
      test-block-iothread: Test adding parent to iothread node
      test-block-iothread: BlockBackend AioContext across root node change
      block: Move node without parents to main AioContext
      blockdev: Use bdrv_try_set_aio_context() for monitor commands
      block: Remove wrong bdrv_set_aio_context() calls
      virtio-scsi-test: Test attaching new overlay with iothreads
      iotests: Attach new devices to node in non-default iothread
      test-bdrv-drain: Use bdrv_try_set_aio_context()
      block: Remove bdrv_set_aio_context()
      iotests: Fix duplicated diff output on failure

Max Reitz (2):
      block/io: Delay decrementing the quiesce_counter
      iotests: Test cancelling a job and closing the VM

Vladimir Sementsov-Ogievskiy (4):
      tests/perf: Test lseek influence on qcow2 block-status
      block: avoid recursive block_status call if possible
      block/qcow2-refcount: add trace-point to qcow2_process_discards
      block/io: bdrv_pdiscard: support int64_t bytes parameter

 docs/devel/multiple-iothreads.txt          |   4 +-
 block/qcow2.h                              |   4 +
 hw/block/nvme.h                            |   2 +
 include/block/block.h                      |  21 ++---
 include/block/block_int.h                  |   1 +
 include/block/nvme.h                       |   2 +
 include/block/raw-aio.h                    |   3 -
 include/hw/block/block.h                   |   7 +-
 include/hw/qdev-properties.h               |   3 +
 include/hw/scsi/scsi.h                     |   1 +
 include/sysemu/block-backend.h             |   5 +-
 tests/libqtest.h                           |  11 +++
 block.c                                    |  79 ++++++++++++-----
 block/backup.c                             |   3 +-
 block/block-backend.c                      |  47 ++++++----
 block/commit.c                             |  13 +--
 block/crypto.c                             |   3 +-
 block/io.c                                 |  28 +++---
 block/linux-aio.c                          |  72 +++------------
 block/mirror.c                             |   4 +-
 block/parallels.c                          |   3 +-
 block/qcow.c                               |   3 +-
 block/qcow2-refcount.c                     |  39 ++++++++-
 block/qcow2.c                              |  17 +++-
 block/qed.c                                |   3 +-
 block/sheepdog.c                           |   3 +-
 block/vdi.c                                |   3 +-
 block/vhdx.c                               |   3 +-
 block/vmdk.c                               |   3 +-
 block/vpc.c                                |   3 +-
 blockdev.c                                 |  61 +++++++------
 blockjob.c                                 |  12 ++-
 hmp.c                                      |   3 +-
 hw/block/dataplane/virtio-blk.c            |  12 ++-
 hw/block/dataplane/xen-block.c             |   6 +-
 hw/block/fdc.c                             |   2 +-
 hw/block/nvme.c                            | 106 +++++++++++++++++++++-
 hw/block/xen-block.c                       |   2 +-
 hw/core/qdev-properties-system.c           |  41 ++++++++-
 hw/ide/qdev.c                              |   2 +-
 hw/scsi/scsi-disk.c                        |  24 +++--
 hw/scsi/virtio-scsi.c                      |  25 +++---
 migration/block.c                          |   3 +-
 nbd/server.c                               |   6 +-
 qemu-img.c                                 |   6 +-
 tests/libqtest.c                           |  19 ++++
 tests/test-bdrv-drain.c                    |  50 ++++++-----
 tests/test-bdrv-graph-mod.c                |   5 +-
 tests/test-block-backend.c                 |   6 +-
 tests/test-block-iothread.c                | 104 ++++++++++++++++++----
 tests/test-blockjob.c                      |   2 +-
 tests/test-throttle.c                      |   6 +-
 tests/virtio-scsi-test.c                   |  62 +++++++++++++
 block/trace-events                         |   3 +
 hw/block/trace-events                      |   2 +
 tests/perf/block/qcow2/convert-blockstatus |  71 +++++++++++++++
 tests/qemu-iotests/051                     |  24 +++++
 tests/qemu-iotests/051.out                 |   3 +
 tests/qemu-iotests/051.pc.out              |  27 ++++++
 tests/qemu-iotests/102                     |   2 +-
 tests/qemu-iotests/102.out                 |   3 +-
 tests/qemu-iotests/141.out                 |   2 +-
 tests/qemu-iotests/144.out                 |   2 +-
 tests/qemu-iotests/240                     |  21 +++++
 tests/qemu-iotests/240.out                 |  15 +++-
 tests/qemu-iotests/255                     | 135 +++++++++++++++++++++++++++++
 tests/qemu-iotests/255.out                 |  40 +++++++++
 tests/qemu-iotests/check                   |   1 -
 tests/qemu-iotests/group                   |   1 +
 tests/qemu-iotests/iotests.py              |  10 ++-
 70 files changed, 1048 insertions(+), 272 deletions(-)
 create mode 100755 tests/perf/block/qcow2/convert-blockstatus
 create mode 100755 tests/qemu-iotests/255
 create mode 100644 tests/qemu-iotests/255.out

Comments

Peter Maydell June 3, 2019, 4 p.m. UTC | #1
On Mon, 3 Jun 2019 at 16:05, Kevin Wolf <kwolf@redhat.com> wrote:
>
> The following changes since commit ad88e4252f09c2956b99c90de39e95bab2e8e7af:
>
>   Merge remote-tracking branch 'remotes/amarkovic/tags/mips-queue-jun-1-2019' into staging (2019-06-03 10:25:12 +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 9593db8ccd27800ce4a17f1d5b735b9130c541a2:
>
>   iotests: Fix duplicated diff output on failure (2019-06-03 16:33:20 +0200)
>
> ----------------------------------------------------------------
> Block layer patches:
>
> - block: AioContext management, part 2
> - Avoid recursive block_status call (i.e. lseek() calls) if possible
> - linux-aio: Drop unused BlockAIOCB submission method
> - nvme: add Get/Set Feature Timestamp support
> - Fix crash on commit job start with active I/O on base node
> - Fix crash in bdrv_drained_end
> - Fix integer overflow in qcow2 discard
>
> ----------------------------------------------------------------

Hi; this failed my build tests on any platform where I run
'make check':

MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}
QTEST_QEMU_BINARY=arm-softmmu/qemu-system-arm QTEST_QEMU_IMG=qemu-img
tests/qos-test -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl
--test-name="qos-test"
PASS 1 qos-test /arm/raspi2/generic-sdhci/sdhci/sdhci-tests/registers
PASS 2 qos-test /arm/sabrelite/generic-sdhci/sdhci/sdhci-tests/registers
[...]
PASS 30 qos-test
/arm/virt/virtio-mmio/virtio-bus/virtio-scsi-device/virtio-scsi/virtio-scsi-tests/hotplug
PASS 31 qos-test
/arm/virt/virtio-mmio/virtio-bus/virtio-scsi-device/virtio-scsi/virtio-scsi-tests/unaligned-write-same
qemu-system-arm: -device virtio-scsi-device,id=vs0,iothread=thread0:
ioeventfd is required for iothread
Broken pipe
/home/petmay01/linaro/qemu-for-merges/tests/libqtest.c:135:
kill_qemu() tried to terminate QEMU process but encountered exit
status 1
Aborted (core dumped)
ERROR - too few tests run (expected 37, got 31)

thanks
-- PMM
no-reply@patchew.org June 3, 2019, 7:27 p.m. UTC | #2
Patchew URL: https://patchew.org/QEMU/20190603150233.6614-1-kwolf@redhat.com/



Hi,

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

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

=== TEST SCRIPT BEGIN ===
#!/bin/bash
git rev-parse base > /dev/null || exit 0
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===

From https://github.com/patchew-project/qemu
   ad88e4252f..e2a58ff493  master     -> master
From https://github.com/patchew-project/qemu
 * [new tag]               patchew/20190603150233.6614-1-kwolf@redhat.com -> patchew/20190603150233.6614-1-kwolf@redhat.com
Switched to a new branch 'test'
220e753b45 iotests: Fix duplicated diff output on failure
0b71e618fa block/io: bdrv_pdiscard: support int64_t bytes parameter
e7a4ac900f block/qcow2-refcount: add trace-point to qcow2_process_discards
4dad653c53 block: Remove bdrv_set_aio_context()
3ab629f6ae test-bdrv-drain: Use bdrv_try_set_aio_context()
a2c999ab92 iotests: Attach new devices to node in non-default iothread
9882a15cb7 virtio-scsi-test: Test attaching new overlay with iothreads
bad8ab68a2 block: Remove wrong bdrv_set_aio_context() calls
4b94672417 blockdev: Use bdrv_try_set_aio_context() for monitor commands
ac65c7ccfd block: Move node without parents to main AioContext
f3f5afac50 test-block-iothread: BlockBackend AioContext across root node change
5be6b76fd8 test-block-iothread: Test adding parent to iothread node
d44a5b97a1 block: Adjust AioContexts when attaching nodes
032072dbdd scsi-disk: Use qdev_prop_drive_iothread
08213d11da block: Add qdev_prop_drive_iothread property type
3143af0939 block: Add BlockBackend.ctx
0218a8120b block: Add Error to blk_set_aio_context()
8dec7e6e5d nbd-server: Call blk_set_allow_aio_context_change()
4fab052a83 test-block-iothread: Check filter node in test_propagate_mirror
bec547ff8c nvme: add Get/Set Feature Timestamp support
daedce9044 block/linux-aio: Drop unused BlockAIOCB submission method
a620ab7c2f iotests: Test cancelling a job and closing the VM
b13df9380c block/io: Delay decrementing the quiesce_counter
96436a8e4d block: avoid recursive block_status call if possible
3b06eca03a tests/perf: Test lseek influence on qcow2 block-status
24a7a53346 blockdev: fix missed target unref for drive-backup
73ec47bcf8 iotests: Test commit job start with concurrent I/O
c8758f4aab block: Drain source node in bdrv_replace_node()

=== OUTPUT BEGIN ===
1/28 Checking commit c8758f4aabfc (block: Drain source node in bdrv_replace_node())
2/28 Checking commit 73ec47bcf823 (iotests: Test commit job start with concurrent I/O)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#16: 
new file mode 100755

total: 0 errors, 1 warnings, 131 lines checked

Patch 2/28 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
3/28 Checking commit 24a7a533464e (blockdev: fix missed target unref for drive-backup)
4/28 Checking commit 3b06eca03aff (tests/perf: Test lseek influence on qcow2 block-status)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#20: 
new file mode 100755

total: 0 errors, 1 warnings, 71 lines checked

Patch 4/28 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
5/28 Checking commit 96436a8e4dba (block: avoid recursive block_status call if possible)
6/28 Checking commit b13df9380cc9 (block/io: Delay decrementing the quiesce_counter)
7/28 Checking commit a620ab7c2f73 (iotests: Test cancelling a job and closing the VM)
8/28 Checking commit daedce9044d9 (block/linux-aio: Drop unused BlockAIOCB submission method)
9/28 Checking commit bec547ff8ce6 (nvme: add Get/Set Feature Timestamp support)
10/28 Checking commit 4fab052a83c2 (test-block-iothread: Check filter node in test_propagate_mirror)
11/28 Checking commit 8dec7e6e5db9 (nbd-server: Call blk_set_allow_aio_context_change())
12/28 Checking commit 0218a8120b5c (block: Add Error to blk_set_aio_context())
WARNING: Block comments use a leading /* on a separate line
#104: FILE: hw/block/dataplane/virtio-blk.c:289:
+    /* Drain and try to switch bs back to the QEMU main loop. If other users

WARNING: Block comments use a trailing */ on a separate line
#105: FILE: hw/block/dataplane/virtio-blk.c:290:
+     * keep the BlockBackend in the iothread, that's ok */

total: 0 errors, 2 warnings, 259 lines checked

Patch 12/28 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
13/28 Checking commit 3143af09391d (block: Add BlockBackend.ctx)
WARNING: Block comments use a leading /* on a separate line
#96: FILE: block/block-backend.c:1864:
+    /* FIXME The AioContext of bs and blk can be inconsistent. For the moment,

WARNING: Block comments use a trailing */ on a separate line
#97: FILE: block/block-backend.c:1865:
+     * we prefer the one of bs for compatibility. */

WARNING: Block comments use a leading /* on a separate line
#405: FILE: hw/core/qdev-properties-system.c:83:
+            /* BlockBackends of devices start in the main context and are only

WARNING: Block comments use a trailing */ on a separate line
#406: FILE: hw/core/qdev-properties-system.c:84:
+             * later moved into another context if the device supports that. */

total: 0 errors, 4 warnings, 553 lines checked

Patch 13/28 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
14/28 Checking commit 08213d11da90 (block: Add qdev_prop_drive_iothread property type)
ERROR: Macros with complex values should be enclosed in parenthesis
#133: FILE: include/hw/block/block.h:61:
+#define DEFINE_BLOCK_PROPERTIES(_state, _conf)                          \
+    DEFINE_PROP_DRIVE("drive", _state, _conf.blk),                      \
+    DEFINE_BLOCK_PROPERTIES_BASE(_state, _conf)

total: 1 errors, 0 warnings, 107 lines checked

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

15/28 Checking commit 032072dbdd61 (scsi-disk: Use qdev_prop_drive_iothread)
ERROR: Macros with complex values should be enclosed in parenthesis
#49: FILE: hw/scsi/scsi-disk.c:2939:
+#define DEFINE_SCSI_DISK_PROPERTIES()                                   \
+    DEFINE_PROP_DRIVE_IOTHREAD("drive", SCSIDiskState, qdev.conf.blk),  \
+    DEFINE_BLOCK_PROPERTIES_BASE(SCSIDiskState, qdev.conf),             \
+    DEFINE_BLOCK_ERROR_PROPERTIES(SCSIDiskState, qdev.conf),            \
+    DEFINE_PROP_STRING("ver", SCSIDiskState, version),                  \
+    DEFINE_PROP_STRING("serial", SCSIDiskState, serial),                \
+    DEFINE_PROP_STRING("vendor", SCSIDiskState, vendor),                \
+    DEFINE_PROP_STRING("product", SCSIDiskState, product),              \
     DEFINE_PROP_STRING("device_id", SCSIDiskState, device_id)

total: 1 errors, 0 warnings, 85 lines checked

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

16/28 Checking commit d44a5b97a1ee (block: Adjust AioContexts when attaching nodes)
WARNING: Block comments use a leading /* on a separate line
#47: FILE: block.c:2284:
+    /* If the AioContexts don't match, first try to move the subtree of

WARNING: Block comments use a trailing */ on a separate line
#49: FILE: block.c:2286:
+     * try moving the parent into the AioContext of child_bs instead. */

total: 0 errors, 2 warnings, 152 lines checked

Patch 16/28 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
17/28 Checking commit 5be6b76fd8f3 (test-block-iothread: Test adding parent to iothread node)
18/28 Checking commit f3f5afac5053 (test-block-iothread: BlockBackend AioContext across root node change)
19/28 Checking commit ac65c7ccfd70 (block: Move node without parents to main AioContext)
WARNING: Block comments use a leading /* on a separate line
#23: FILE: block.c:2239:
+        /* When the parent requiring a non-default AioContext is removed, the

WARNING: Block comments use a trailing */ on a separate line
#24: FILE: block.c:2240:
+         * node moves back to the main AioContext */

total: 0 errors, 2 warnings, 28 lines checked

Patch 19/28 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
20/28 Checking commit 4b94672417f0 (blockdev: Use bdrv_try_set_aio_context() for monitor commands)
21/28 Checking commit bad8ab68a251 (block: Remove wrong bdrv_set_aio_context() calls)
22/28 Checking commit 9882a15cb739 (virtio-scsi-test: Test attaching new overlay with iothreads)
23/28 Checking commit a2c999ab92aa (iotests: Attach new devices to node in non-default iothread)
24/28 Checking commit 3ab629f6aeaf (test-bdrv-drain: Use bdrv_try_set_aio_context())
25/28 Checking commit 4dad653c533e (block: Remove bdrv_set_aio_context())
26/28 Checking commit e7a4ac900f2f (block/qcow2-refcount: add trace-point to qcow2_process_discards)
27/28 Checking commit 0b71e618fa6e (block/io: bdrv_pdiscard: support int64_t bytes parameter)
28/28 Checking commit 220e753b4588 (iotests: Fix duplicated diff output on failure)
=== OUTPUT END ===

Test command exited with code: 1


The full log is available at
http://patchew.org/logs/20190603150233.6614-1-kwolf@redhat.com/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com