From b24f07d406d8bcb9494eceddaf52d846f31d5e9d Mon Sep 17 00:00:00 2001 From: Fabian Ebner Date: Thu, 16 Apr 2020 14:54:42 +0200 Subject: [PATCH] Fix test_volid call for vmstate and fix check for snapshots on migration by excluding vmstate. It is referenced by snapshots, but is not a volume containing a snapshot. Signed-off-by: Fabian Ebner --- PVE/QemuMigrate.pm | 2 ++ PVE/QemuServer.pm | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/PVE/QemuMigrate.pm b/PVE/QemuMigrate.pm index d90b709f..b5b2ae30 100644 --- a/PVE/QemuMigrate.pm +++ b/PVE/QemuMigrate.pm @@ -404,6 +404,8 @@ sub sync_disks { die "owned by other VM (owner = VM $owner)\n" if !$owner || ($owner != $vmid); + return if $attr->{is_vmstate}; + if (defined($snaprefs)) { $local_volumes->{$volid}->{snapshots} = 1; diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index 23621e5d..0a403a4b 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm @@ -4331,7 +4331,7 @@ sub foreach_volid { foreach my $snapname (keys %{$conf->{snapshots}}) { my $snap = $conf->{snapshots}->{$snapname}; - $test_volid->($snap->{vmstate}, 0, 1, $snapname); + $test_volid->($snap->{vmstate}, 0, 1, 0, $snapname); $volhash->{$snap->{vmstate}}->{is_vmstate} = 1 if $snap->{vmstate}; PVE::QemuConfig->foreach_volume($snap, sub { my ($ds, $drive) = @_;