Second part cleans up tests and various bits and refactors the protocol blockdev JSON configuration generator to be reusable. This still doesn't change the configuration of the blockdevs, just reorders some arguments. Peter Krempa (22): qemuxml2(argv|xml)test: Add network backed disk type='sd' qemu: migration: No longer avoid 'auto-read-only' option for migration qemuBuildDriveSourceStr: Absorb only use of qemuDiskSourceGetProps qemuBlockStorageSourceGetBackendProps: Remove unnecessary indent for non-nbdkit code path conf: Move definition of some disk type enums to a common header virStorageSource: Use proper type for shadow copies of iomode/cachemode/discard/detect_zeroes qemuDomainDiskCachemodeFlags: Simplify usage qemuBlockStorageSourceGetBlockdevGetCacheProps: Return the cache object rather than appending it qemublocktest: Use "target only" mode in 'testJSONtoJSON' and 'testBackingXMLjsonXML' qemublocktest: Drop 'sheepdog' and 'vxhs' test cases qemublocktest: Fix logical bug in TEST_JSON_FORMAT macro qemublocktest: testBackingXMLjsonXML: Drop 'legacy' mode qemuBlockStorageSourceGetBackendProps: Unify cases for '!onlytarget' and '!legacy' virDomainDiskGetDetectZeroesMode: Return proper type qemuBlockStorageSourceGetBackendProps: Unify ordering of fields qemu: block: Add helper to add common properties for -blockdev configuration qemu: block: Use qemuBlockStorageSourceAddBlockdevCommonProps for storage slice qemuBlockStorageSourceGetBackendProps: Introduce QEMU_BLOCK_STORAGE_SOURCE_BACKEND_PROPS_EFFECTIVE_NODE qemuBuildHostdevSCSIAttachPrepare: Use "effective node" mode for getting blockdev props qemuBlockStorageSourceGetBackendProps: Use qemuBlockStorageSourceAddBlockdevCommonProps qemuBlockStorageSourceGetBackendProps: Remove unused logic for (auto-)read-only flags qemu: block: Remove unused flags QEMU_BLOCK_STORAGE_SOURCE_BACKEND_PROPS_ flags src/conf/domain_conf.c | 2 +- src/conf/domain_conf.h | 39 +- src/conf/storage_source_conf.h | 8 +- src/conf/virconftypes.h | 39 +- src/qemu/qemu_block.c | 349 +++++++++--------- src/qemu/qemu_block.h | 6 +- src/qemu/qemu_command.c | 63 ++-- src/qemu/qemu_domain.c | 33 +- src/qemu/qemu_domain.h | 4 +- src/qemu/qemu_migration.c | 5 +- tests/qemublocktest.c | 41 +- .../jsontojson/curl-libguestfs-out.json | 5 +- .../ssh-passthrough-libguestfs-out.json | 4 +- .../xml2json/dir-fat-cache.json | 6 +- .../file-backing_basic-cache-directsync.json | 24 +- .../file-backing_basic-cache-none.json | 24 +- .../file-backing_basic-cache-unsafe.json | 24 +- .../file-backing_basic-cache-writeback.json | 24 +- ...file-backing_basic-cache-writethrough.json | 24 +- .../xml2json/file-raw-aio_native.json | 6 +- ...work-qcow2-backing-chain-cache-unsafe.json | 12 +- .../blkdeviotune-group-num.x86_64-latest.args | 4 +- ...blkdeviotune-max-length.x86_64-latest.args | 4 +- .../blkdeviotune-max.x86_64-latest.args | 4 +- .../blkdeviotune.x86_64-latest.args | 4 +- .../controller-order.x86_64-latest.args | 2 +- .../disk-aio.x86_64-latest.args | 2 +- .../disk-arm-virtio-sd.aarch64-latest.args | 2 + tests/qemuxml2argvdata/disk-arm-virtio-sd.xml | 16 + .../disk-cache.x86_64-latest.args | 10 +- .../disk-error-policy-s390x.s390x-latest.args | 6 +- .../disk-error-policy.x86_64-latest.args | 6 +- .../disk-metadata-cache.x86_64-latest.args | 6 +- .../disk-network-nfs.x86_64-latest.args | 2 +- ...rk-tlsx509-nbd-hostname.x86_64-latest.args | 2 +- ...disk-network-tlsx509-nbd.x86_64-5.2.0.args | 2 +- ...isk-network-tlsx509-nbd.x86_64-latest.args | 2 +- ...isk-network-tlsx509-vxhs.x86_64-5.0.0.args | 6 +- .../disk-nvme.x86_64-latest.args | 2 +- .../disk-shared.x86_64-latest.args | 6 +- .../disk-slices.x86_64-latest.args | 8 +- .../disk-snapshot.x86_64-latest.args | 4 +- .../disk-transient.x86_64-latest.args | 2 +- .../disk-vhostvdpa.x86_64-latest.args | 2 +- .../name-escape.x86_64-latest.args | 2 +- .../user-aliases.x86_64-latest.args | 4 +- ...eo-bochs-display-device.x86_64-latest.args | 2 +- ...-device-pciaddr-default.x86_64-latest.args | 2 +- ...video-qxl-device-vgamem.x86_64-latest.args | 2 +- .../video-qxl-device.x86_64-latest.args | 2 +- ...o-qxl-sec-device-vgamem.x86_64-latest.args | 2 +- .../video-qxl-sec-device.x86_64-latest.args | 2 +- ...eo-ramfb-display-device.x86_64-latest.args | 2 +- ...video-vga-device-vgamem.x86_64-latest.args | 2 +- .../video-vga-device.x86_64-latest.args | 2 +- .../video-virtio-blob-off.x86_64-latest.args | 2 +- .../video-virtio-blob-on.x86_64-latest.args | 2 +- ...video-virtio-gpu-device.x86_64-latest.args | 2 +- ...video-virtio-gpu-sdl-gl.x86_64-latest.args | 2 +- ...deo-virtio-gpu-spice-gl.x86_64-latest.args | 2 +- .../video-virtio-gpu-virgl.x86_64-latest.args | 2 +- .../video-virtio-vga.x86_64-latest.args | 2 +- .../disk-arm-virtio-sd.aarch64-latest.xml | 16 + 63 files changed, 438 insertions(+), 462 deletions(-) -- 2.41.0