[libvirt PATCH] qemu_snapshot: allow reverting to external disk only snapshot

Pavel Hrdina posted 1 patch 2 years ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/79cf0bfb5c9c0db3b60f9eddee581cd19982855d.1706716247.git.phrdina@redhat.com
src/qemu/qemu_snapshot.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
[libvirt PATCH] qemu_snapshot: allow reverting to external disk only snapshot
Posted by Pavel Hrdina 2 years ago
When snapshot is created with disk-only flag it is always external
snapshot without memory state. Historically when there was not support
to revert external snapshots this produced error message.

    error: Failed to revert snapshot s1
    error: internal error: Invalid target domain state 'disk-snapshot'. Refusing snapshot reversion

Now we can simply consider this as reverting to offline snapshot as the
possible damage to file system is already done at the point of snapshot
creation.

Resolves: https://issues.redhat.com/browse/RHEL-21549
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
---
 src/qemu/qemu_snapshot.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/qemu/qemu_snapshot.c b/src/qemu/qemu_snapshot.c
index 0cac0c4146..7964f70553 100644
--- a/src/qemu/qemu_snapshot.c
+++ b/src/qemu/qemu_snapshot.c
@@ -2606,6 +2606,7 @@ qemuSnapshotRevert(virDomainObj *vm,
     case VIR_DOMAIN_SNAPSHOT_SHUTDOWN:
     case VIR_DOMAIN_SNAPSHOT_SHUTOFF:
     case VIR_DOMAIN_SNAPSHOT_CRASHED:
+    case VIR_DOMAIN_SNAPSHOT_DISK_SNAPSHOT:
         ret = qemuSnapshotRevertInactive(vm, snapshot, snap,
                                          driver, cfg,
                                          &inactiveConfig,
@@ -2617,8 +2618,6 @@ qemuSnapshotRevert(virDomainObj *vm,
                        _("qemu doesn't support reversion of snapshot taken in PMSUSPENDED state"));
         goto endjob;
 
-    case VIR_DOMAIN_SNAPSHOT_DISK_SNAPSHOT:
-        /* Rejected earlier as an external snapshot */
     case VIR_DOMAIN_SNAPSHOT_NOSTATE:
     case VIR_DOMAIN_SNAPSHOT_BLOCKED:
     case VIR_DOMAIN_SNAPSHOT_LAST:
-- 
2.43.0
_______________________________________________
Devel mailing list -- devel@lists.libvirt.org
To unsubscribe send an email to devel-leave@lists.libvirt.org
Re: [libvirt PATCH] qemu_snapshot: allow reverting to external disk only snapshot
Posted by Peter Krempa 1 year ago
On Wed, Jan 31, 2024 at 17:14:28 +0100, Pavel Hrdina wrote:
> When snapshot is created with disk-only flag it is always external
> snapshot without memory state. Historically when there was not support
> to revert external snapshots this produced error message.
> 
>     error: Failed to revert snapshot s1
>     error: internal error: Invalid target domain state 'disk-snapshot'. Refusing snapshot reversion
> 
> Now we can simply consider this as reverting to offline snapshot as the
> possible damage to file system is already done at the point of snapshot
> creation.
> 
> Resolves: https://issues.redhat.com/browse/RHEL-21549
> Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
> ---
>  src/qemu/qemu_snapshot.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)

A thread on libvirt-users found this patch and noticed it wasn't pushed.

Reviewed-by: Peter Krempa <pkrempa@redhat.com>