From: Fabian Grünbichler Date: Fri, 24 Jun 2016 07:46:34 +0000 (+0200) Subject: collect and log origin of found local volumes X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=d62fcf74a795eab2eaa6807ebb45d7ec6bfd45fb;p=qemu-server.git collect and log origin of found local volumes just knowing that local disks prevent a migration is not very helpful, so be a bit more verbose here. --- diff --git a/PVE/QemuMigrate.pm b/PVE/QemuMigrate.pm index 1305b5ca..3b861a57 100644 --- a/PVE/QemuMigrate.pm +++ b/PVE/QemuMigrate.pm @@ -246,7 +246,7 @@ sub sync_disks { PVE::Storage::foreach_volid($dl, sub { my ($volid, $sid, $volname) = @_; - $volhash->{$volid} = 1; + $volhash->{$volid} = 'storage'; }); } @@ -272,6 +272,8 @@ sub sync_disks { $sharedvm = 0; + $volhash->{$volid} = defined($snapname) ? 'snapshot' : 'config'; + die "can't migrate local cdrom '$volid'\n" if $is_cdrom; my ($path, $owner) = PVE::Storage::path($self->{storecfg}, $volid); @@ -286,14 +288,11 @@ sub sync_disks { my $format = PVE::QemuServer::qemu_img_format($scfg, $volname); if (($scfg->{type} eq 'zfspool') || ($format eq 'qcow2')) { - $volhash->{$volid} = 1; return; } die "can't migrate snapshot of local volume '$volid'\n"; - } else { - $volhash->{$volid} = 1; } }; @@ -310,6 +309,18 @@ sub sync_disks { PVE::QemuServer::foreach_drive($conf->{snapshots}->{$snapname}, $test_drive, $snapname); } + foreach my $vol (sort keys %$volhash) { + if ($volhash->{$vol} eq 'storage') { + $self->log('info', "found local disk '$vol' (via storage)\n"); + } elsif ($volhash->{$vol} eq 'config') { + $self->log('info', "found local disk '$vol' (in current VM config)\n"); + } elsif ($volhash->{$vol} eq 'snapshot') { + $self->log('info', "found local disk '$vol' (referenced by snapshot(s))\n"); + } else { + $self->log('info', "found local disk '$vol'\n"); + } + } + if ($self->{running} && !$sharedvm) { die "can't do online migration - VM uses local disks\n"; }