v4 was here: https://lists.gnu.org/archive/html/qemu-devel/2020-10/msg02708.html
Since then: - rebase to master - patches 1, 2, and 12 are new based on Vladimir's observation of QAPI_LIST_ADD - patches 10-11 are new based on prior discussion on exposing actual depth in addition to a tri-state encoding - patch 3 has a nasty bug fixed that was causing iotest failures - patch 6 updated to take advantage of patch 2 - other minor tweaks based on review comments 001/12:[down] 'qapi: Move GenericList to qapi/util.h' 002/12:[down] 'qapi: Make QAPI_LIST_ADD() public' 003/12:[0002] [FC] 'nbd: Utilize QAPI_CLONE for type conversion' 004/12:[0010] [FC] 'nbd: Add new qemu:allocation-depth metadata context' 005/12:[----] [--] 'nbd: Add 'qemu-nbd -A' to expose allocation depth' 006/12:[0014] [FC] 'nbd: Update qapi to support exporting multiple bitmaps' 007/12:[----] [--] 'nbd: Simplify qemu bitmap context name' 008/12:[----] [--] 'nbd: Refactor counting of metadata contexts' 009/12:[0017] [FC] 'nbd: Allow export of multiple bitmaps for one device' 010/12:[down] 'block: Return depth level during bdrv_is_allocated_above' 011/12:[down] 'nbd: Expose actual depth in qemu:allocation-depth' 012/12:[down] 'qapi: Use QAPI_LIST_ADD() where possible' Eric Blake (12): qapi: Move GenericList to qapi/util.h qapi: Make QAPI_LIST_ADD() public nbd: Utilize QAPI_CLONE for type conversion nbd: Add new qemu:allocation-depth metadata context nbd: Add 'qemu-nbd -A' to expose allocation depth 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: Expose actual depth in qemu:allocation-depth qapi: Use QAPI_LIST_ADD() where possible docs/devel/writing-qmp-commands.txt | 13 +- docs/interop/nbd.txt | 31 +++- docs/system/deprecated.rst | 4 +- docs/tools/qemu-nbd.rst | 8 +- qapi/block-core.json | 7 +- qapi/block-export.json | 22 ++- include/qapi/visitor.h | 9 +- hw/net/rocker/rocker_fp.h | 2 +- include/block/nbd.h | 14 +- include/qapi/util.h | 16 ++ block/io.c | 11 +- block.c | 15 +- block/commit.c | 2 +- block/gluster.c | 19 +-- block/mirror.c | 2 +- block/stream.c | 2 +- blockdev-nbd.c | 28 ++-- 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 | 222 ++++++++++++++++++++++------ 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 | 73 +++++++++ tests/qemu-iotests/309.out | 22 +++ tests/qemu-iotests/group | 1 + 48 files changed, 529 insertions(+), 361 deletions(-) create mode 100755 tests/qemu-iotests/309 create mode 100644 tests/qemu-iotests/309.out -- 2.29.0