[PULL 00/38] Block layer patches and object-add QAPIfication

Kevin Wolf posted 38 patches 3 years, 1 month ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20210311144811.313451-1-kwolf@redhat.com
Maintainers: Jason Wang <jasowang@redhat.com>, Thomas Huth <thuth@redhat.com>, Laurent Vivier <lvivier@redhat.com>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, Coiby Xu <Coiby.Xu@gmail.com>, Kevin Wolf <kwolf@redhat.com>, Paul Durrant <paul@xen.org>, Markus Armbruster <armbru@redhat.com>, Gerd Hoffmann <kraxel@redhat.com>, Anthony Perard <anthony.perard@citrix.com>, "Dr. David Alan Gilbert" <dgilbert@redhat.com>, John Snow <jsnow@redhat.com>, Max Reitz <mreitz@redhat.com>, Stefano Stabellini <sstabellini@kernel.org>, Paolo Bonzini <pbonzini@redhat.com>, "Daniel P. Berrangé" <berrange@redhat.com>, Eduardo Habkost <ehabkost@redhat.com>, Eric Blake <eblake@redhat.com>, Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
There is a newer version of this series
qapi/authz.json                       |  61 ++-
qapi/block-core.json                  |  27 +
qapi/common.json                      |  52 ++
qapi/crypto.json                      | 159 ++++++
qapi/machine.json                     |  22 +-
qapi/net.json                         |  20 -
qapi/qom.json                         | 646 +++++++++++++++++++++-
qapi/ui.json                          |  13 +-
docs/system/deprecated.rst            |  25 +-
docs/system/removed-features.rst      |   5 +
docs/tools/qemu-img.rst               |   2 +-
include/qom/object_interfaces.h       |  85 +--
tests/qtest/libqos/vhost-user-blk.h   |  48 ++
block.c                               |  36 +-
block/curl.c                          |  50 +-
block/export/vhost-user-blk-server.c  |   3 +-
block/stream.c                        |  15 +-
hw/block/xen-block.c                  |  16 +-
monitor/hmp-cmds.c                    |  17 +-
monitor/misc.c                        |   2 -
qemu-img.c                            | 251 ++-------
qemu-io.c                             |  33 +-
qemu-nbd.c                            |  34 +-
qom/object_interfaces.c               | 109 ++--
qom/qom-qmp-cmds.c                    |  28 +-
storage-daemon/qemu-storage-daemon.c  |  28 +-
tests/qtest/libqos/vhost-user-blk.c   | 130 +++++
tests/qtest/qmp-cmd-test.c            |  16 +-
tests/qtest/test-netfilter.c          |  54 +-
tests/qtest/vhost-user-blk-test.c     | 983 ++++++++++++++++++++++++++++++++++
MAINTAINERS                           |   2 +
hmp-commands.hx                       |   2 +-
storage-daemon/qapi/qapi-schema.json  |   1 +
tests/qemu-iotests/tests/qsd-jobs     |  86 +++
tests/qemu-iotests/tests/qsd-jobs.out |  32 ++
tests/qtest/libqos/meson.build        |   1 +
tests/qtest/meson.build               |   4 +
37 files changed, 2554 insertions(+), 544 deletions(-)
create mode 100644 tests/qtest/libqos/vhost-user-blk.h
create mode 100644 tests/qtest/libqos/vhost-user-blk.c
create mode 100644 tests/qtest/vhost-user-blk-test.c
create mode 100755 tests/qemu-iotests/tests/qsd-jobs
create mode 100644 tests/qemu-iotests/tests/qsd-jobs.out
[PULL 00/38] Block layer patches and object-add QAPIfication
Posted by Kevin Wolf 3 years, 1 month ago
The following changes since commit d689ecad073e0289afa8ca863e45879d719e5c21:

  Merge remote-tracking branch 'remotes/nvme/tags/nvme-next-pull-request' into staging (2021-03-10 20:11:33 +0000)

are available in the Git repository at:

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

for you to fetch changes up to 4756658df7d5104b36ee2f40f30f2d0f10225a53:

  qom: Add user_creatable_parse_str() (2021-03-11 13:13:49 +0100)

----------------------------------------------------------------
Block layer patches and object-add QAPIfication

- QAPIfy object-add and --object for tools
- Add vhost-user-blk-test
- stream: Fail gracefully if permission is denied
- storage-daemon: Fix crash on quit when job is still running
- curl: Fix use after free
- Fix image creation option defaults that exist in both the format and
  the protocol layer (e.g. 'cluster_size' in qcow2 and rbd; the qcow2
  default was incorrectly applied to the rbd layer)

----------------------------------------------------------------
Coiby Xu (1):
      test: new qTest case to test the vhost-user-blk-server

Kevin Wolf (31):
      storage-daemon: Call job_cancel_sync_all() on shutdown
      stream: Don't crash when node permission is denied
      tests: Drop 'props' from object-add calls
      qapi/qom: Drop deprecated 'props' from object-add
      qapi/qom: Add ObjectOptions for iothread
      qapi/qom: Add ObjectOptions for authz-*
      qapi/qom: Add ObjectOptions for cryptodev-*
      qapi/qom: Add ObjectOptions for dbus-vmstate
      qapi/qom: Add ObjectOptions for memory-backend-*
      qapi/qom: Add ObjectOptions for rng-*, deprecate 'opened'
      qapi/qom: Add ObjectOptions for throttle-group
      qapi/qom: Add ObjectOptions for secret*, deprecate 'loaded'
      qapi/qom: Add ObjectOptions for tls-*, deprecate 'loaded'
      qapi/qom: Add ObjectOptions for can-*
      qapi/qom: Add ObjectOptions for colo-compare
      qapi/qom: Add ObjectOptions for filter-*
      qapi/qom: Add ObjectOptions for pr-manager-helper
      qapi/qom: Add ObjectOptions for confidential-guest-support
      qapi/qom: Add ObjectOptions for input-*
      qapi/qom: Add ObjectOptions for x-remote-object
      qapi/qom: QAPIfy object-add
      qom: Make "object" QemuOptsList optional
      qemu-storage-daemon: Implement --object with qmp_object_add()
      qom: Remove user_creatable_add_dict()
      qom: Factor out user_creatable_process_cmdline()
      qemu-io: Use user_creatable_process_cmdline() for --object
      qemu-nbd: Use user_creatable_process_cmdline() for --object
      qom: Add user_creatable_add_from_str()
      qemu-img: Use user_creatable_process_cmdline() for --object
      hmp: QAPIfy object_add
      qom: Add user_creatable_parse_str()

Max Reitz (2):
      curl: Store BDRVCURLState pointer in CURLSocket
      curl: Disconnect sockets from CURLState

Stefan Hajnoczi (3):
      block/export: disable VHOST_USER_PROTOCOL_F_INFLIGHT_SHMFD for now
      tests/qtest: add multi-queue test case to vhost-user-blk-test
      vhost-user-blk-test: test discard/write zeroes invalid inputs

Stefano Garzarella (1):
      block: remove format defaults from QemuOpts in bdrv_create_file()

 qapi/authz.json                       |  61 ++-
 qapi/block-core.json                  |  27 +
 qapi/common.json                      |  52 ++
 qapi/crypto.json                      | 159 ++++++
 qapi/machine.json                     |  22 +-
 qapi/net.json                         |  20 -
 qapi/qom.json                         | 646 +++++++++++++++++++++-
 qapi/ui.json                          |  13 +-
 docs/system/deprecated.rst            |  25 +-
 docs/system/removed-features.rst      |   5 +
 docs/tools/qemu-img.rst               |   2 +-
 include/qom/object_interfaces.h       |  85 +--
 tests/qtest/libqos/vhost-user-blk.h   |  48 ++
 block.c                               |  36 +-
 block/curl.c                          |  50 +-
 block/export/vhost-user-blk-server.c  |   3 +-
 block/stream.c                        |  15 +-
 hw/block/xen-block.c                  |  16 +-
 monitor/hmp-cmds.c                    |  17 +-
 monitor/misc.c                        |   2 -
 qemu-img.c                            | 251 ++-------
 qemu-io.c                             |  33 +-
 qemu-nbd.c                            |  34 +-
 qom/object_interfaces.c               | 109 ++--
 qom/qom-qmp-cmds.c                    |  28 +-
 storage-daemon/qemu-storage-daemon.c  |  28 +-
 tests/qtest/libqos/vhost-user-blk.c   | 130 +++++
 tests/qtest/qmp-cmd-test.c            |  16 +-
 tests/qtest/test-netfilter.c          |  54 +-
 tests/qtest/vhost-user-blk-test.c     | 983 ++++++++++++++++++++++++++++++++++
 MAINTAINERS                           |   2 +
 hmp-commands.hx                       |   2 +-
 storage-daemon/qapi/qapi-schema.json  |   1 +
 tests/qemu-iotests/tests/qsd-jobs     |  86 +++
 tests/qemu-iotests/tests/qsd-jobs.out |  32 ++
 tests/qtest/libqos/meson.build        |   1 +
 tests/qtest/meson.build               |   4 +
 37 files changed, 2554 insertions(+), 544 deletions(-)
 create mode 100644 tests/qtest/libqos/vhost-user-blk.h
 create mode 100644 tests/qtest/libqos/vhost-user-blk.c
 create mode 100644 tests/qtest/vhost-user-blk-test.c
 create mode 100755 tests/qemu-iotests/tests/qsd-jobs
 create mode 100644 tests/qemu-iotests/tests/qsd-jobs.out


Re: [PULL 00/38] Block layer patches and object-add QAPIfication
Posted by Peter Maydell 3 years, 1 month ago
On Thu, 11 Mar 2021 at 14:48, Kevin Wolf <kwolf@redhat.com> wrote:
>
> The following changes since commit d689ecad073e0289afa8ca863e45879d719e5c21:
>
>   Merge remote-tracking branch 'remotes/nvme/tags/nvme-next-pull-request' into staging (2021-03-10 20:11:33 +0000)
>
> are available in the Git repository at:
>
>   git://repo.or.cz/qemu/kevin.git tags/for-upstream
>
> for you to fetch changes up to 4756658df7d5104b36ee2f40f30f2d0f10225a53:
>
>   qom: Add user_creatable_parse_str() (2021-03-11 13:13:49 +0100)
>
> ----------------------------------------------------------------
> Block layer patches and object-add QAPIfication
>
> - QAPIfy object-add and --object for tools
> - Add vhost-user-blk-test
> - stream: Fail gracefully if permission is denied
> - storage-daemon: Fix crash on quit when job is still running
> - curl: Fix use after free
> - Fix image creation option defaults that exist in both the format and
>   the protocol layer (e.g. 'cluster_size' in qcow2 and rbd; the qcow2
>   default was incorrectly applied to the rbd layer)
>

This generates new warnings in 'make check':
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}
G_TEST_SRCDIR=/home/petmay01/linaro/qemu-for-merges/tests G_TEST
_BUILDDIR=/home/petmay01/linaro/qemu-for-merges/build/all/tests
tests/test-char --tap -k
warning: The alias 'tty' is deprecated, use 'serial' instead
PASS 1 test-char /char/null
PASS 2 test-char /char/invalid
PASS 3 test-char /char/ringbuf
PASS 4 test-char /char/mux
[etc]

thanks
-- PMM