In this version everything except blockjobs should work properly. Similarly to the previous posting, the block job support is not part of this posting yet so blockjobs will not work. Changes to v1: - Added support for floppies via -device so they work with blockdev - fixed return value from the new media changing API - fixed handling of the TRAY_MOVED and BLOCK_IO_ERROR events - fixed two compilation problems with nitpicky compilers - refactored/fixed setup of backing chain for disk media change - fixed two regressions when filling stats hash tables without -blockdev - fixed alias reported in the TRAY_MOVED event to the users - added helper to retrieve a disk definition from a VM by alias or QOM path Note that the bump of the capability data needs to be fixed since jansson support was reverted. For the quirks of specifying floppies via -device please refer to commit 30/62 qemu: command: Setup floppy drives via -device for blockdev Peter Krempa (62): qemu: process: Fix alias for disk-tray-moved event tests: qemumonitorjson: Simplify debugging of 'blockInfo' test qemu: Improve errors in qemuDomainBlockResize qemu: monitor: Remove unsupported function check for 'block_resize' qemu: monitor: Remove useless 'locked' property from struct qemuDomainDiskInfo tests: qemucapabilities: Update capability data for qemu 3.0.0 Revert "qemu: monitor: Add the 'query-nodes' argument for query-blockstats" qemu: hotplug: consolidate media change code paths qemu: hotplug: Prepare disk source in qemuDomainAttachDeviceDiskLive qemu: monitor: Reuse qemuMonitorJSONQueryBlock in qemuMonitorJSONBlockIoThrottleInfo qemu: monitor: Allow using 'id' instead of 'device' for 'block_set_io_throttle' qemu: monitor: Allow using 'qdev' instead of 'device' for getting disk throttling qemu: monitor: Add 'nodename' argument for 'block_resize' tests: qemu: Drop disk from hostdev-mdev tests tests: qemuxml2argv: Fork CAPS_LATEST test cases for 'blockdev' tests: qemu: Add test data for backing chains and indexes qemu: hotplug: Don't generate alias when detaching disk util: virqemu: Simplify debugging if building QOM object with missing args qemu: caps: Add capability for using the blockdev infrastructure qemu: process: clear QEMU_CAPS_BLOCKDEV for VMs with SD card qemu: domain: Don't redetect backing chain when using -blockdev qemu: process: Don't detect nodenames when we support -blockdev conf: domain: Format out user provided backing chains in XML qemu: domain: Add infrastructure to generate block node names conf: Implement private data formatting and parsing for disks conf: Allow formatting and parsing of 'index' for disk source image qemu: Use proper backingIndex when reporting stats for backing chain qemu: Add field to store QDEV path of a disk in private data qemu: alias: Generate QDEV name of the block backend for disks qemu: command: Setup floppy drives via -device for blockdev qemu: domain: Add field for storing node name for copy-on-read qemu: proces: assign node names for user defined backing chains qemu: block: Add generator for the 'copy-on-read' blockdev driver qemu: domain: Prepare qemuDomainDiskGetBackendAlias for -blockdev qemu: command: format disk source commandline for -blockdev qemu: command: Add helper to check if disk throttling is enabled qemu: process: Setup disk io throttling for -blockdev qemu: driver: Use QOM backend name for disk IO throttling APIs qemu: driver: Prepare qemuDomainBlockResize for blockdev qemu: process: Add lookup via QOM id to qemuProcessFindDomainDiskByAlias qemu: monitor: Handle TRAY_MOVED event correctly with -blockdev qemu: monitor: Handle BLOCK_IO_ERROR event properly with -blockdev qemu: hotplug: Prepare for blockdev-add/blockdev-del with backing chains qemu: monitor: Add APIs for cdrom tray handling for -blockdev qemu: hotplug: Implement removable media change for -blockdev qemu: driver: Don't copy disk alias in qemuDomainBlocksStatsGather qemu: Explicitly find disks for stats totals qemu: monitor: Retrieve blockstats also by qdev and node-names qemu: monitor: Add APIs for refreshing disk capacity when using -blockdev qemu: driver: Don't pass 'virDomainDiskDefPtr' to qemuDomainGetStatsOneBlock qemu: monitor: Extract 'write-threshold' automatically for -blockdev qemu: Extract exporting of disk block statistics qemu: Extract exporting of the header for block stats qemu: Export stats relevant for the frontend separately qemu: Refactor control flow in qemuDomainGetStatsBlockExportDisk qemu: Report frontend stats only for the frontend entry qemu: Export stats relevant for the storage backend qemu: monitor: Report data also for 'qdev' entry in qemuMonitorJSONGetBlockInfo qemu: Use QOM path with query-block when using -blockdev qemu: driver: Allow using blockdev with qemuDomainBlocksStatsGather qemu: driver: Prepare qemuDomainGetStatsBlock (bulk disk stats) for -blockdev DO NOT APPLY: Enable QEMU_CAPS_BLOCKDEV if 'query-blockstats' works with -blockdev docs/formatdomain.html.in | 7 +- docs/schemas/domaincommon.rng | 19 + src/conf/domain_conf.c | 89 +++- src/conf/domain_conf.h | 7 + src/qemu/qemu_alias.c | 86 ++- src/qemu/qemu_alias.h | 3 +- src/qemu/qemu_block.c | 24 +- src/qemu/qemu_block.h | 2 + src/qemu/qemu_capabilities.c | 2 + src/qemu/qemu_capabilities.h | 1 + src/qemu/qemu_command.c | 134 ++++- src/qemu/qemu_command.h | 3 + src/qemu/qemu_domain.c | 174 +++++- src/qemu/qemu_domain.h | 10 +- src/qemu/qemu_driver.c | 442 ++++++++++----- src/qemu/qemu_hotplug.c | 208 ++++++-- src/qemu/qemu_hotplug.h | 9 +- src/qemu/qemu_monitor.c | 104 +++- src/qemu/qemu_monitor.h | 37 +- src/qemu/qemu_monitor_json.c | 411 +++++++++++--- src/qemu/qemu_monitor_json.h | 33 +- src/qemu/qemu_process.c | 138 ++++- src/qemu/qemu_process.h | 5 +- src/util/virqemu.c | 5 +- .../qemucapabilitiesdata/caps_3.0.0.x86_64.replies | 591 +++------------------ tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml | 9 +- tests/qemuhotplugtest.c | 2 +- tests/qemumonitorjsontest.c | 34 +- tests/qemustatusxml2xmldata/modern-in.xml | 6 + tests/qemuxml2argvdata/disk-aio.x86_64-2.12.0.args | 37 ++ tests/qemuxml2argvdata/disk-aio.x86_64-latest.args | 19 +- .../disk-backing-chains-index.x86_64-2.12.0.args | 1 + .../disk-backing-chains-index.x86_64-latest.args | 1 + .../qemuxml2argvdata/disk-backing-chains-index.xml | 145 +++++ .../disk-backing-chains-noindex.x86_64-2.12.0.args | 58 ++ .../disk-backing-chains-noindex.x86_64-latest.args | 163 ++++++ .../disk-backing-chains-noindex.xml | 145 +++++ .../qemuxml2argvdata/disk-cache.x86_64-2.12.0.args | 50 ++ .../qemuxml2argvdata/disk-cache.x86_64-latest.args | 50 +- .../disk-cdrom-network.x86_64-2.12.0.args | 41 ++ .../disk-cdrom-network.x86_64-latest.args | 32 +- .../disk-cdrom-tray.x86_64-2.12.0.args | 39 ++ .../disk-cdrom-tray.x86_64-latest.args | 24 +- .../qemuxml2argvdata/disk-cdrom.x86_64-2.12.0.args | 35 ++ .../qemuxml2argvdata/disk-cdrom.x86_64-latest.args | 17 +- .../disk-copy_on_read.x86_64-2.12.0.args | 41 ++ .../disk-copy_on_read.x86_64-latest.args | 19 +- .../disk-detect-zeroes.x86_64-2.12.0.args | 37 ++ .../disk-detect-zeroes.x86_64-latest.args | 17 +- .../disk-error-policy.x86_64-2.12.0.args | 41 ++ .../disk-error-policy.x86_64-latest.args | 30 +- .../disk-floppy-q35-2_11.x86_64-2.12.0.args | 35 ++ .../disk-floppy-q35-2_11.x86_64-latest.args | 14 +- .../disk-floppy-q35-2_9.x86_64-2.12.0.args | 35 ++ .../disk-floppy-q35-2_9.x86_64-latest.args | 14 +- .../disk-floppy.x86_64-2.12.0.args | 35 ++ .../disk-floppy.x86_64-latest.args | 21 +- .../disk-network-gluster.x86_64-2.12.0.args | 44 ++ .../disk-network-gluster.x86_64-latest.args | 32 +- .../disk-network-iscsi.x86_64-2.12.0.args | 63 +++ .../disk-network-iscsi.x86_64-latest.args | 58 +- .../disk-network-nbd.x86_64-2.12.0.args | 46 ++ .../disk-network-nbd.x86_64-latest.args | 41 +- .../disk-network-rbd.x86_64-2.12.0.args | 61 +++ .../disk-network-rbd.x86_64-latest.args | 67 ++- .../disk-network-sheepdog.x86_64-2.12.0.args | 35 ++ .../disk-network-sheepdog.x86_64-latest.args | 16 +- .../disk-network-source-auth.x86_64-2.12.0.args | 47 ++ .../disk-network-source-auth.x86_64-latest.args | 30 +- .../disk-network-tlsx509.x86_64-2.12.0.args | 59 ++ .../disk-network-tlsx509.x86_64-latest.args | 61 ++- .../disk-readonly-disk.x86_64-2.12.0.args | 34 ++ .../disk-readonly-disk.x86_64-latest.args | 14 +- .../disk-shared.x86_64-2.12.0.args | 37 ++ .../disk-shared.x86_64-latest.args | 18 +- ...isk-virtio-scsi-reservations.x86_64-2.12.0.args | 43 ++ ...isk-virtio-scsi-reservations.x86_64-latest.args | 20 +- .../floppy-drive-fat.x86_64-2.12.0.args | 33 ++ .../floppy-drive-fat.x86_64-latest.args | 7 +- .../hostdev-mdev-display-missing-graphics.xml | 6 - ...v-display-spice-egl-headless.x86_64-latest.args | 2 - .../hostdev-mdev-display-spice-egl-headless.xml | 6 - ...ev-mdev-display-spice-opengl.x86_64-latest.args | 2 - .../hostdev-mdev-display-spice-opengl.xml | 6 - ...dev-display-vnc-egl-headless.x86_64-latest.args | 2 - .../hostdev-mdev-display-vnc-egl-headless.xml | 6 - .../hostdev-mdev-display-vnc.x86_64-latest.args | 2 - .../qemuxml2argvdata/hostdev-mdev-display-vnc.xml | 6 - tests/qemuxml2argvdata/hostdev-mdev-display.xml | 6 - .../hostdev-mdev-invalid-target-address.xml | 5 - .../qemuxml2argvdata/hostdev-mdev-precreated.args | 3 - tests/qemuxml2argvdata/hostdev-mdev-precreated.xml | 6 - .../hostdev-mdev-src-address-invalid.xml | 6 - tests/qemuxml2argvtest.c | 26 + .../disk-backing-chains-inactive.xml | 35 ++ .../disk-backing-chains-index-active.xml | 156 ++++++ .../disk-backing-chains-index-inactive.xml | 156 ++++++ .../disk-backing-chains-noindex-active.xml | 156 ++++++ .../disk-backing-chains-noindex-inactive.xml | 156 ++++++ tests/qemuxml2xmloutdata/disk-mirror-inactive.xml | 4 + .../disk-mirror-old-inactive.xml | 4 + tests/qemuxml2xmloutdata/hostdev-mdev-display.xml | 6 - .../qemuxml2xmloutdata/hostdev-mdev-precreated.xml | 6 - tests/qemuxml2xmltest.c | 2 + 104 files changed, 4259 insertions(+), 1169 deletions(-) create mode 100644 tests/qemuxml2argvdata/disk-aio.x86_64-2.12.0.args create mode 120000 tests/qemuxml2argvdata/disk-backing-chains-index.x86_64-2.12.0.args create mode 120000 tests/qemuxml2argvdata/disk-backing-chains-index.x86_64-latest.args create mode 100644 tests/qemuxml2argvdata/disk-backing-chains-index.xml create mode 100644 tests/qemuxml2argvdata/disk-backing-chains-noindex.x86_64-2.12.0.args create mode 100644 tests/qemuxml2argvdata/disk-backing-chains-noindex.x86_64-latest.args create mode 100644 tests/qemuxml2argvdata/disk-backing-chains-noindex.xml create mode 100644 tests/qemuxml2argvdata/disk-cache.x86_64-2.12.0.args create mode 100644 tests/qemuxml2argvdata/disk-cdrom-network.x86_64-2.12.0.args create mode 100644 tests/qemuxml2argvdata/disk-cdrom-tray.x86_64-2.12.0.args create mode 100644 tests/qemuxml2argvdata/disk-cdrom.x86_64-2.12.0.args create mode 100644 tests/qemuxml2argvdata/disk-copy_on_read.x86_64-2.12.0.args create mode 100644 tests/qemuxml2argvdata/disk-detect-zeroes.x86_64-2.12.0.args create mode 100644 tests/qemuxml2argvdata/disk-error-policy.x86_64-2.12.0.args create mode 100644 tests/qemuxml2argvdata/disk-floppy-q35-2_11.x86_64-2.12.0.args create mode 100644 tests/qemuxml2argvdata/disk-floppy-q35-2_9.x86_64-2.12.0.args create mode 100644 tests/qemuxml2argvdata/disk-floppy.x86_64-2.12.0.args create mode 100644 tests/qemuxml2argvdata/disk-network-gluster.x86_64-2.12.0.args create mode 100644 tests/qemuxml2argvdata/disk-network-iscsi.x86_64-2.12.0.args create mode 100644 tests/qemuxml2argvdata/disk-network-nbd.x86_64-2.12.0.args create mode 100644 tests/qemuxml2argvdata/disk-network-rbd.x86_64-2.12.0.args create mode 100644 tests/qemuxml2argvdata/disk-network-sheepdog.x86_64-2.12.0.args create mode 100644 tests/qemuxml2argvdata/disk-network-source-auth.x86_64-2.12.0.args create mode 100644 tests/qemuxml2argvdata/disk-network-tlsx509.x86_64-2.12.0.args create mode 100644 tests/qemuxml2argvdata/disk-readonly-disk.x86_64-2.12.0.args create mode 100644 tests/qemuxml2argvdata/disk-shared.x86_64-2.12.0.args create mode 100644 tests/qemuxml2argvdata/disk-virtio-scsi-reservations.x86_64-2.12.0.args create mode 100644 tests/qemuxml2argvdata/floppy-drive-fat.x86_64-2.12.0.args create mode 100644 tests/qemuxml2xmloutdata/disk-backing-chains-index-active.xml create mode 100644 tests/qemuxml2xmloutdata/disk-backing-chains-index-inactive.xml create mode 100644 tests/qemuxml2xmloutdata/disk-backing-chains-noindex-active.xml create mode 100644 tests/qemuxml2xmloutdata/disk-backing-chains-noindex-inactive.xml -- 2.16.2 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list