Re: [PATCH 00/22] qemu: Refactor blockdev protocol JSON generators ('raw' driver removal part 2)

2023-10-26 Thread Ján Tomko

On a Wednesday in 2023, Peter Krempa wrote:

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 +-

[PATCH 00/22] qemu: Refactor blockdev protocol JSON generators ('raw' driver removal part 2)

2023-10-25 Thread Peter Krempa
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 +-