[pve-devel] [PATCH qemu-server 1/4] collect and log origin of found local volumes
Fabian Grünbichler
f.gruenbichler at proxmox.com
Fri Jun 24 09:46:34 CEST 2016
just knowing that local disks prevent a migration is not
very helpful, so be a bit more verbose here.
---
PVE/QemuMigrate.pm | 19 +++++++++++++++----
1 file changed, 15 insertions(+), 4 deletions(-)
diff --git a/PVE/QemuMigrate.pm b/PVE/QemuMigrate.pm
index 1305b5c..3b861a5 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";
}
--
2.1.4
More information about the pve-devel
mailing list