[PATCH 00/35] qemu: Implement support for transient disk hotplug and backing store sharing

Peter Krempa posted 35 patches 2 years, 11 months ago
Test syntax-check failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/cover.1621601160.git.pkrempa@redhat.com
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
[PATCH 00/35] qemu: Implement support for transient disk hotplug and backing store sharing
Posted by Peter Krempa 2 years, 11 months ago
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