Another posting of this series as I've added a few patches which fix a
problem with shallow block copy.
Patches 1-5 of the original series were pushed.
Patches 1-3 of this series were originally posted and reviewed
separately but were not pushed yet due to the ongoing freeze. They are
included as they make the snapshots actually usable.
Patches 4-9 are new and fix a problem in block copy. The changes
necessary would conflict with the snapshot code so this version rebases
everything and includes them here.
Patches 10-12 fix a snapshot locking regression as outlined in the
previous posting.
The rest is from the original external snapshot blockdevization series
with feedback applied.
Peter Krempa (18):
qemu: block: Use correct type when creating image size JSON entries
tests: qemublock: Use bigger numbers as dummy capacity/physical
qemu: monitor: Fix formatting of 'offset' in qemuMonitorJSONSaveMemory
qemu: block: Unify conditions to format backing store of format node
definition
qemu: block: Explicitly specify backingStore when creating format
layer props
qemu: command: Refactor
qemuBuildStorageSourceChainAttachPrepareBlockdevInternal
qemu: block: explicitly pass backing store to
qemuBlockStorageSourceAttachPrepareBlockdev
qemu: Explicitly pass backing store to
qemuBuildStorageSourceChainAttachPrepareBlockdevTop
qemu: driver: Fix shallow non-reuse block copy
qemu: snapshot: Fix image lock handling when taking a snapshot
qemu: snapshot: Save status and config XMLs only on success
qemu: snapshot: Move error preservation to
qemuDomainSnapshotDiskDataCleanup
qemu: snapshot: Rename external disk snapshot handling functions
qemu: Disband qemuDomainSnapshotCreateSingleDiskActive
qemu: Merge use of 'reuse' flag in qemuDomainSnapshotDiskPrepareOne
qemu: snapshot: Skip overlay file creation/interogation if unsupported
qemu: Add -blockdev support for external snapshots
qemu: Defer support checks for external active snapshots to blockdev
code or qemu
src/qemu/qemu_block.c | 54 ++--
src/qemu/qemu_block.h | 4 +-
src/qemu/qemu_command.c | 63 ++--
src/qemu/qemu_command.h | 1 +
src/qemu/qemu_driver.c | 279 +++++++++++-------
src/qemu/qemu_migration.c | 4 +-
src/qemu/qemu_monitor_json.c | 2 +-
tests/qemublocktest.c | 6 +-
.../imagecreate/luks-encopts.json | 4 +-
.../imagecreate/luks-noopts.json | 4 +-
.../imagecreate/network-gluster-qcow2.json | 4 +-
.../imagecreate/network-rbd-qcow2.json | 4 +-
.../imagecreate/network-sheepdog-qcow2.json | 4 +-
.../imagecreate/network-ssh-qcow2.json | 4 +-
.../imagecreate/qcow2-backing-luks.json | 4 +-
.../imagecreate/qcow2-backing-raw-nbd.json | 4 +-
.../imagecreate/qcow2-backing-raw.json | 4 +-
.../qcow2-luks-encopts-backing.json | 4 +-
.../imagecreate/qcow2-luks-encopts.json | 4 +-
.../imagecreate/qcow2-luks-noopts.json | 4 +-
.../qemublocktestdata/imagecreate/qcow2.json | 4 +-
tests/qemublocktestdata/imagecreate/raw.json | 2 +-
22 files changed, 280 insertions(+), 187 deletions(-)
--
2.21.0