We call query-block on each start of a VM but as it turns out there isn't much information that we actually probe from it. This series: - refactors 'query-block' use - removes unneeded calls - adds support for upcoming more optimal mode (RFC) Patches 19 and 20 are RFC as the qemu patches weren't accepted yet. I'll post them also separately with a capability dump update once that hits upstream. Peter Krempa (20): qemuDomainDiskInfo: Drop 'nodename' field qemu: Remove 'removable' field from 'qemuDomainDiskPrivate' qemuProcessRefreshDiskProps: Drop code to remove disk source qemu: Drop 'empty' filed from 'qemuDomainDiskInfo' qemuMigrationSrcBegin: Drop disk refresh step qemu: process: Unexport 'qemuProcessRefreshDisks' qemu: Drop 'removable' field from 'qemuDomainDiskInfo' qemuMonitorJSONHandleMigrationStatus: Simplify error case qemu: monitor: Add test validating that 'eventHandlers' are properly sorted qemuMonitorJSONHandleMemoryFailure: Simplify error case and value extraction qemuMonitorJSONGetBlockInfo: Don't fail if 'io-status' field gets new values qemuDomainDiskInfo: Use proper type for 'io_status' conf: domain: Add VIR_DOMAIN_DISK_TRAY_NONE state for devices without tray qemuDomainDiskPrivate: Remove unused 'tray' field qemuDomainAttachDiskGeneric: Avoid unneeded disk property refresh after hotplug qemu: Refactor tray_status handling qemuProcessUpdateVideoRamSize: Remove 'driver' argument and adjust callers qemuProcessRefreshDisks: Don't bother to refresh disks on cold boot qemu: capabilities: Introduce QEMU_CAPS_QUERY_BLOCK_FLAT qemu: monitor: Use 'flat' mode of 'query-block' src/conf/domain_conf.c | 17 +++- src/conf/domain_conf.h | 3 +- src/qemu/qemu_capabilities.c | 2 + src/qemu/qemu_capabilities.h | 1 + src/qemu/qemu_domain.h | 12 +-- src/qemu/qemu_driver.c | 10 +-- src/qemu/qemu_hotplug.c | 18 ++-- src/qemu/qemu_migration.c | 12 +-- src/qemu/qemu_monitor.c | 44 +-------- src/qemu/qemu_monitor.h | 3 - src/qemu/qemu_monitor_json.c | 149 ++++++++++++++++++++----------- src/qemu/qemu_monitor_json.h | 3 + src/qemu/qemu_monitor_priv.h | 3 + src/qemu/qemu_process.c | 167 +++++++++++++++++------------------ src/qemu/qemu_process.h | 9 +- src/qemu/qemu_saveimage.c | 2 +- tests/qemuhotplugtest.c | 38 +++----- tests/qemumonitorjsontest.c | 31 +++++-- 18 files changed, 254 insertions(+), 270 deletions(-) -- 2.53.0