This series refactors the qemu disk hotplug code so that it can be
easily extended for hotplug of transient disks and then also used at
startup to plug in disks where the users want to share the backing
image.
Masayoshi Mizuma (1):
qemu_snapshot: Add the guest name to the transient disk path
Peter Krempa (34):
qemu: snapshot: Extract setup of snapshot disk definition for
transient disks
qemu: process: Setup transient disks only when starting a fresh VM
qemuSnapshotDiskPrepareOne: Pass in qemuSnapshotDiskContext
qemuSnapshotDiskContext: Store virQEMUDriverConfig in the struct
qemuSnapshotDiskPrepareOne: Use data from qemuSnapshotDiskContext
qemuSnapshotDiskCreate: Use 'cfg' from the qemuSnapshotDiskContext
qemu: snapshot: move transient snapshot code to qemu_process
qemu: Move 'bootindex' handling for disks out of command line
formatter
qemu: Move bootindex usage logic into qemuBuildDiskDeviceStr
qemuxml2argvtest: Remove pointless tests for keywrapping on s390
qemu: Move iothread and s390 address validation for disk devices into
the validator
Replace virDomainDiskInsertPreAlloced by virDomainDiskInsert
conf: remove virDomainDiskInsertPreAlloced
qemuBlockStorageSourceChainData: Add handling of 'copy-on-read' filter
layer
qemuDomainAttachDiskGeneric: Move 'copy-on-read' handling to
qemuBlockStorageSourceChainData
qemuDomainRemoveDiskDevice: Move 'copy-on-read' handling to
qemuBlockStorageSourceChainData
qemuDomainAttachDeviceDiskLiveInternal: Absorb
qemuDomainAttachUSBMassStorageDevice
qemuDomainAttachDeviceDiskLiveInternal: Absorb
qemuDomainAttachVirtioDiskDevice
qemuDomainAttachDeviceDiskLiveInternal: Absorb
qemuDomainAttachSCSIDisk
qemuDomainAttachDeviceDiskLiveInternal: Simplify call to
qemuDomainAttachDiskGeneric
qemuDomainAttachDiskGeneric: Move setup of disk into
qemuDomainAttachDeviceDiskLiveInternal
qemu: hotplug: Move post-insertion steps of disk hotplug to
qemuDomainAttachDeviceDiskLiveInternal
qemuDomainAttachDiskGeneric: Fix whitespace
qemuDomainAttachDiskGeneric: Refactor cleanup
qemuDomainAttachDiskGeneric: Move PR helper attach into
qemuDomainAttachDeviceDiskLiveInternal
qemuDomainAttachDiskGeneric: Refactor rollback handling
qemuDomainAttachDiskGeneric: Split up frontend and backend attachment
qemu: Track creation of <transient> disk overlay individually
qemuDomainAttachDiskGeneric: Implement hotplug of <transient> disk
qemuDomainAttachDiskGeneric: Pass the qemu async job type
qemuDomainAttachDiskGeneric: Export
conf: Introduce 'shareBacking' for <transient> disks
qemu: Allow <transient> disks with images shared accross VMs
tests: Add qemuxml2argv and qemuxml2xml test for <transient
shareBacking='yes'>
docs/formatdomain.rst | 6 +
docs/schemas/domaincommon.rng | 5 +
src/conf/domain_conf.c | 33 +-
src/conf/domain_conf.h | 3 +-
src/libvirt_private.syms | 1 -
src/libxl/libxl_driver.c | 4 +-
src/lxc/lxc_driver.c | 6 +-
src/qemu/qemu_block.c | 12 +
src/qemu/qemu_block.h | 4 +
src/qemu/qemu_command.c | 134 ++-----
src/qemu/qemu_command.h | 1 -
src/qemu/qemu_domain.c | 2 -
src/qemu/qemu_domain.h | 11 +-
src/qemu/qemu_hotplug.c | 335 +++++++++---------
src/qemu/qemu_hotplug.h | 6 +
src/qemu/qemu_process.c | 203 ++++++++++-
src/qemu/qemu_snapshot.c | 160 +++------
src/qemu/qemu_snapshot.h | 27 +-
src/qemu/qemu_validate.c | 73 ++++
.../disk-transient.x86_64-4.1.0.err | 2 +-
.../disk-transient.x86_64-latest.args | 4 +-
tests/qemuxml2argvdata/disk-transient.xml | 6 +
tests/qemuxml2argvtest.c | 8 -
.../disk-transient.x86_64-latest.xml | 48 +++
tests/qemuxml2xmltest.c | 3 +-
25 files changed, 644 insertions(+), 453 deletions(-)
create mode 100644 tests/qemuxml2xmloutdata/disk-transient.x86_64-latest.xml
--
2.31.1