[pve-devel] [PATCH qemu-server v3 2/2] fix local disk migration when no target storage is set

Thomas Lamprecht t.lamprecht at proxmox.com
Mon Dec 17 13:00:19 CET 2018


the check for targetstorage in:
if ($self->{running} && $self->{opts}->{targetstorage} && $local_volumes->{$volid}->{ref} eq 'config') {

was obsolete, as we always set the tragetstorage opts variable to '1'
in a broader "use same sid for remote local" check above.
So removing it leads to the same if truthtable but fixes the
check if we should fallback to the volume's SID if targetstorage is
not set, as else it seemed to be always set, and '1' is naturally not
a correct stroage ID.

Signed-off-by: Thomas Lamprecht <t.lamprecht at proxmox.com>
---

v2 -> v3:
* new in v3

 PVE/QemuMigrate.pm | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/PVE/QemuMigrate.pm b/PVE/QemuMigrate.pm
index 0bae076..947adc7 100644
--- a/PVE/QemuMigrate.pm
+++ b/PVE/QemuMigrate.pm
@@ -404,10 +404,6 @@ sub sync_disks {
 	    $self->log('warn', "$err");
 	}
 
-	if ($self->{running} && !$sharedvm && !$self->{opts}->{targetstorage}) {
-	    $self->{opts}->{targetstorage} = 1; #use same sid for remote local
-	}
-
 	if ($abort) {
 	    die "can't migrate VM - check log\n";
 	}
@@ -447,7 +443,7 @@ sub sync_disks {
 	foreach my $volid (keys %$local_volumes) {
 	    my ($sid, $volname) = PVE::Storage::parse_volume_id($volid);
 	    my $targetsid = $self->{opts}->{targetstorage} ? $self->{opts}->{targetstorage} : $sid;
-	    if ($self->{running} && $self->{opts}->{targetstorage} && $local_volumes->{$volid}->{ref} eq 'config') {
+	    if ($self->{running} && $local_volumes->{$volid}->{ref} eq 'config') {
 		push @{$self->{online_local_volumes}}, $volid;
 	    } else {
 		next if $rep_volumes->{$volid};
-- 
2.19.2





More information about the pve-devel mailing list