[pve-devel] [PATCH qemu-server 1/3] Fix test_volid call for vmstate and fix check for snapshots on migration

Fabian Ebner f.ebner at proxmox.com
Thu Apr 16 14:54:42 CEST 2020


by excluding vmstate. It is referenced by snapshots, but
is not a volume containing a snapshot.

Signed-off-by: Fabian Ebner <f.ebner at proxmox.com>
---
 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 0a6277d..2e2e430 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 6445508..5a42532 100644
--- a/PVE/QemuServer.pm
+++ b/PVE/QemuServer.pm
@@ -4320,7 +4320,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) = @_;
-- 
2.20.1





More information about the pve-devel mailing list