John pointed out that patch 2 of my original bug fix did too
much in one patch. Now that we are in freeze for 5.1, I've
proposed two variants of the same fix: patch 1 is the bare
minimum to fix the bug and nothing else, while patches 3-7
are more in line with my v1 patch at doing other refactoring
work along the way (but now split into multiple logical steps)
that will prove useful for my other pending snapshot improvements
(
https://www.redhat.com/archives/libvir-list/2019-February/msg01350.html,
but now 5.2 material).
I'm proposing both variants for comparison, although I already
suspect the answer will be 'use patch 1 for 5.1, then rebase
what remains of patches 3-7 into the other snapshot cleanups
for 5.2'.
variant2 is cleaner than my v1 patch 2/2 in that I no longer have
to use a default: label to hack around gcc's enum sanity checking
within a switch statement, but it required introducing a large
mechanical rename of all use of snapshot state values.
Eric Blake (7):
qemu: Fix snapshot redefine vs. domain state bug
Revert "qemu: Fix snapshot redefine vs. domain state bug"
qemu: Refactor check for _LIVE vs. _REDEFINE
qemu: Factor out qemuDomainSnapshotValidate() helper
snapshot: Rework virDomainSnapshotState enum
qemu: Use virDomainSnapshotState for switch statements
qemu: Fix snapshot redefine vs. domain state bug
src/conf/snapshot_conf.h | 21 ++++-
src/conf/snapshot_conf.c | 28 +++----
src/qemu/qemu_driver.c | 160 +++++++++++++++++++++++----------------
src/test/test_driver.c | 20 ++---
src/vbox/vbox_common.c | 4 +-
5 files changed, 137 insertions(+), 96 deletions(-)
--
2.20.1