[PATCH v6 00/11] Exposing backing-chain allocation over NBD

Eric Blake posted 11 patches 3 years, 6 months ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20201027050556.269064-1-eblake@redhat.com
Maintainers: "Philippe Mathieu-Daudé" <f4bug@amsat.org>, Peter Maydell <peter.maydell@linaro.org>, Aurelien Jarno <aurelien@aurel32.net>, Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>, Paolo Bonzini <pbonzini@redhat.com>, Eduardo Habkost <ehabkost@redhat.com>, "Michael S. Tsirkin" <mst@redhat.com>, "Marc-André Lureau" <marcandre.lureau@redhat.com>, Stefan Hajnoczi <stefanha@redhat.com>, Eric Blake <eblake@redhat.com>, Jason Wang <jasowang@redhat.com>, "Daniel P. Berrangé" <berrange@redhat.com>, Kevin Wolf <kwolf@redhat.com>, Gerd Hoffmann <kraxel@redhat.com>, Richard Henderson <rth@twiddle.net>, Jiri Pirko <jiri@resnulli.us>, Halil Pasic <pasic@linux.ibm.com>, David Hildenbrand <david@redhat.com>, Juan Quintela <quintela@redhat.com>, Max Reitz <mreitz@redhat.com>, John Snow <jsnow@redhat.com>, Christian Borntraeger <borntraeger@de.ibm.com>, Thomas Huth <thuth@redhat.com>, "Dr. David Alan Gilbert" <dgilbert@redhat.com>, Michael Roth <mdroth@linux.vnet.ibm.com>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, Markus Armbruster <armbru@redhat.com>, Jiaxun Yang <jiaxun.yang@flygoat.com>, Cornelia Huck <cohuck@redhat.com>, David Gibson <david@gibson.dropbear.id.au>, Fam Zheng <fam@euphon.net>
docs/devel/writing-qmp-commands.txt |  13 +-
docs/interop/nbd.txt                |  23 ++-
docs/system/deprecated.rst          |   3 +-
docs/tools/qemu-nbd.rst             |   8 +-
qapi/block-core.json                |   7 +-
qapi/block-export.json              |  46 ++++--
block/coroutines.h                  |   6 +-
hw/net/rocker/rocker_fp.h           |   2 +-
include/block/nbd.h                 |   8 +-
include/qapi/util.h                 |   8 ++
block/io.c                          |  29 +++-
block.c                             |  14 +-
block/commit.c                      |   2 +-
block/gluster.c                     |  19 +--
block/mirror.c                      |   2 +-
block/nbd.c                         |  26 +++-
block/stream.c                      |   2 +-
blockdev-nbd.c                      |  19 +--
chardev/char.c                      |  21 ++-
hw/core/machine.c                   |   6 +-
hw/net/rocker/rocker.c              |   8 +-
hw/net/rocker/rocker_fp.c           |  14 +-
hw/net/virtio-net.c                 |  21 +--
migration/migration.c               |   7 +-
migration/postcopy-ram.c            |   7 +-
monitor/hmp-cmds.c                  |  11 +-
nbd/server.c                        | 208 +++++++++++++++++++++-------
qemu-img.c                          |   5 +-
qemu-nbd.c                          |  30 ++--
qga/commands-posix.c                |  13 +-
qga/commands-win32.c                |  17 +--
qga/commands.c                      |   6 +-
qom/qom-qmp-cmds.c                  |  29 ++--
target/arm/helper.c                 |   6 +-
target/arm/monitor.c                |  13 +-
target/i386/cpu.c                   |   6 +-
target/mips/helper.c                |   6 +-
target/s390x/cpu_models.c           |  12 +-
tests/test-clone-visitor.c          |   7 +-
tests/test-qobject-output-visitor.c |  42 +++---
tests/test-visitor-serialization.c  |   5 +-
trace/qmp.c                         |  22 ++-
ui/vnc.c                            |  21 +--
util/qemu-config.c                  |  14 +-
target/ppc/translate_init.c.inc     |  12 +-
tests/qemu-iotests/291              |   6 +-
tests/qemu-iotests/309              |  77 ++++++++++
tests/qemu-iotests/309.out          |  22 +++
tests/qemu-iotests/group            |   1 +
49 files changed, 542 insertions(+), 370 deletions(-)
create mode 100755 tests/qemu-iotests/309
create mode 100644 tests/qemu-iotests/309.out
[PATCH v6 00/11] Exposing backing-chain allocation over NBD
Posted by Eric Blake 3 years, 6 months ago
v5 was here:
https://lists.gnu.org/archive/html/qemu-devel/2020-10/msg07124.html

Also available at:
https://repo.or.cz/qemu/ericb.git/shortlog/refs/tags/nbd-alloc-depth-v6

Since v5:
- rebase to master (mostly affects 8/11) [Vladimir]
- drop v5 1/12, and replace with new v6 1/11 [Markus]
- rearrange series to complete 'bitmaps' before 'allocation-depth'
- don't alter 'nbd-server-add' [Peter]
- simplify qemu:allocation-depth to just be an integer [Vladimir]

I want at least 1-7/11 in a pull request this week for 5.2 soft
freeze, but it would also be nice to get the feature of 8-10/11 in as
well.  11/11 is less important, but a nice followup to 2/11.

(Oh, and my KVM Forum presentation this Friday uses these patches ;)

Eric Blake (11):
  block: Simplify QAPI_LIST_ADD
  qapi: Make QAPI_LIST_ADD() public
  nbd: Utilize QAPI_CLONE for type conversion
  nbd: Update qapi to support exporting multiple bitmaps
  nbd: Simplify qemu bitmap context name
  nbd: Refactor counting of metadata contexts
  nbd: Allow export of multiple bitmaps for one device
  block: Return depth level during bdrv_is_allocated_above
  nbd: Add new qemu:allocation-depth metadata context
  nbd: Add 'qemu-nbd -A' to expose allocation depth
  qapi: Use QAPI_LIST_ADD() where possible

 docs/devel/writing-qmp-commands.txt |  13 +-
 docs/interop/nbd.txt                |  23 ++-
 docs/system/deprecated.rst          |   3 +-
 docs/tools/qemu-nbd.rst             |   8 +-
 qapi/block-core.json                |   7 +-
 qapi/block-export.json              |  46 ++++--
 block/coroutines.h                  |   6 +-
 hw/net/rocker/rocker_fp.h           |   2 +-
 include/block/nbd.h                 |   8 +-
 include/qapi/util.h                 |   8 ++
 block/io.c                          |  29 +++-
 block.c                             |  14 +-
 block/commit.c                      |   2 +-
 block/gluster.c                     |  19 +--
 block/mirror.c                      |   2 +-
 block/nbd.c                         |  26 +++-
 block/stream.c                      |   2 +-
 blockdev-nbd.c                      |  19 +--
 chardev/char.c                      |  21 ++-
 hw/core/machine.c                   |   6 +-
 hw/net/rocker/rocker.c              |   8 +-
 hw/net/rocker/rocker_fp.c           |  14 +-
 hw/net/virtio-net.c                 |  21 +--
 migration/migration.c               |   7 +-
 migration/postcopy-ram.c            |   7 +-
 monitor/hmp-cmds.c                  |  11 +-
 nbd/server.c                        | 208 +++++++++++++++++++++-------
 qemu-img.c                          |   5 +-
 qemu-nbd.c                          |  30 ++--
 qga/commands-posix.c                |  13 +-
 qga/commands-win32.c                |  17 +--
 qga/commands.c                      |   6 +-
 qom/qom-qmp-cmds.c                  |  29 ++--
 target/arm/helper.c                 |   6 +-
 target/arm/monitor.c                |  13 +-
 target/i386/cpu.c                   |   6 +-
 target/mips/helper.c                |   6 +-
 target/s390x/cpu_models.c           |  12 +-
 tests/test-clone-visitor.c          |   7 +-
 tests/test-qobject-output-visitor.c |  42 +++---
 tests/test-visitor-serialization.c  |   5 +-
 trace/qmp.c                         |  22 ++-
 ui/vnc.c                            |  21 +--
 util/qemu-config.c                  |  14 +-
 target/ppc/translate_init.c.inc     |  12 +-
 tests/qemu-iotests/291              |   6 +-
 tests/qemu-iotests/309              |  77 ++++++++++
 tests/qemu-iotests/309.out          |  22 +++
 tests/qemu-iotests/group            |   1 +
 49 files changed, 542 insertions(+), 370 deletions(-)
 create mode 100755 tests/qemu-iotests/309
 create mode 100644 tests/qemu-iotests/309.out

-- 
2.29.0