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