mirror of
https://git.proxmox.com/git/qemu-server
synced 2025-05-03 14:38:31 +00:00
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.
This commit is contained in:
parent
0622ddfbbe
commit
d62fcf74a7
@ -246,7 +246,7 @@ sub sync_disks {
|
|||||||
PVE::Storage::foreach_volid($dl, sub {
|
PVE::Storage::foreach_volid($dl, sub {
|
||||||
my ($volid, $sid, $volname) = @_;
|
my ($volid, $sid, $volname) = @_;
|
||||||
|
|
||||||
$volhash->{$volid} = 1;
|
$volhash->{$volid} = 'storage';
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -272,6 +272,8 @@ sub sync_disks {
|
|||||||
|
|
||||||
$sharedvm = 0;
|
$sharedvm = 0;
|
||||||
|
|
||||||
|
$volhash->{$volid} = defined($snapname) ? 'snapshot' : 'config';
|
||||||
|
|
||||||
die "can't migrate local cdrom '$volid'\n" if $is_cdrom;
|
die "can't migrate local cdrom '$volid'\n" if $is_cdrom;
|
||||||
|
|
||||||
my ($path, $owner) = PVE::Storage::path($self->{storecfg}, $volid);
|
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);
|
my $format = PVE::QemuServer::qemu_img_format($scfg, $volname);
|
||||||
|
|
||||||
if (($scfg->{type} eq 'zfspool') || ($format eq 'qcow2')) {
|
if (($scfg->{type} eq 'zfspool') || ($format eq 'qcow2')) {
|
||||||
$volhash->{$volid} = 1;
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
die "can't migrate snapshot of local volume '$volid'\n";
|
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);
|
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) {
|
if ($self->{running} && !$sharedvm) {
|
||||||
die "can't do online migration - VM uses local disks\n";
|
die "can't do online migration - VM uses local disks\n";
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user