From 1bd4b63b0de13f62c9dfa06ea3d76fafbfa13286 Mon Sep 17 00:00:00 2001 From: Chris Townsend Date: Fri, 12 Jan 2024 14:24:59 +0000 Subject: [PATCH] Merge pull request #3363 from canonical/fix-snapshot-restore-rollback [snapshots] Fix restore rollback --- src/platform/backends/shared/base_virtual_machine.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/platform/backends/shared/base_virtual_machine.cpp b/src/platform/backends/shared/base_virtual_machine.cpp index b82079b61d..89006143fc 100644 --- a/src/platform/backends/shared/base_virtual_machine.cpp +++ b/src/platform/backends/shared/base_virtual_machine.cpp @@ -506,7 +506,6 @@ void BaseVirtualMachine::restore_rollback_helper(const Path& head_path, VMSpecs& specs) { // best effort only - old_head->apply(); specs = old_specs; if (old_head != head_snapshot) { @@ -524,8 +523,6 @@ void BaseVirtualMachine::restore_snapshot(const std::string& name, VMSpecs& spec assert_vm_stopped(state); // precondition assert_vm_stopped(snapshot->get_state()); // precondition - snapshot->apply(); - const auto head_path = derive_head_path(instance_dir); auto rollback = make_restore_rollback(head_path, specs); @@ -542,6 +539,7 @@ void BaseVirtualMachine::restore_snapshot(const std::string& name, VMSpecs& spec persist_head_snapshot_index(head_path); } + snapshot->apply(); rollback.dismiss(); }