]> git.proxmox.com Git - qemu-server.git/blobdiff - PVE/QemuMigrate.pm
migrate: re-order lines to improve readability
[qemu-server.git] / PVE / QemuMigrate.pm
index b5ec45c54ee243eb842d61d2ee7b6121930c3c31..1f6e306f209af251791abc65fccd481f31d4e6be 100644 (file)
@@ -282,8 +282,6 @@ sub sync_disks {
        my $other_errors = [];
        my $abort = 0;
 
-       my $sharedvm = 1;
-
        my $log_error = sub {
            my ($msg, $volid) = @_;
 
@@ -310,7 +308,6 @@ sub sync_disks {
 
            # check if storage is available on target node
            PVE::Storage::storage_check_node($self->{storecfg}, $targetsid, $self->{node});
-           $sharedvm = 0; # there is a non-shared disk
 
            PVE::Storage::foreach_volid($dl, sub {
                my ($volid, $sid, $volname) = @_;
@@ -352,8 +349,6 @@ sub sync_disks {
 
            return if $scfg->{shared};
 
-           $sharedvm = 0;
-
            $local_volumes->{$volid}->{ref} = $attr->{referenced_in_config} ? 'config' : 'snapshot';
 
            if ($attr->{cdrom}) {
@@ -496,7 +491,7 @@ sub cleanup_remotedisks {
 
     foreach my $target_drive (keys %{$self->{target_drive}}) {
 
-       my $drive = PVE::QemuServer::parse_drive($target_drive, $self->{target_drive}->{$target_drive}->{volid});
+       my $drive = PVE::QemuServer::parse_drive($target_drive, $self->{target_drive}->{$target_drive}->{drivestr});
        my ($storeid, $volname) = PVE::Storage::parse_volume_id($drive->{file});
 
        my $cmd = [@{$self->{rem_ssh}}, 'pvesm', 'free', "$storeid:$volname"];
@@ -617,18 +612,20 @@ sub phase2 {
            $spice_port = int($1);
        }
        elsif ($line =~ m/^storage migration listens on nbd:(localhost|[\d\.]+|\[[\d\.:a-fA-F]+\]):(\d+):exportname=(\S+) volume:(\S+)$/) {
-           my $volid = $4;
+           my $drivestr = $4;
            my $nbd_uri = "nbd:$1:$2:exportname=$3";
            my $targetdrive = $3;
            $targetdrive =~ s/drive-//g;
 
-           $self->{target_drive}->{$targetdrive}->{volid} = $volid;
+           $self->{target_drive}->{$targetdrive}->{drivestr} = $drivestr;
            $self->{target_drive}->{$targetdrive}->{nbd_uri} = $nbd_uri;
 
+       } elsif ($line =~ m/^QEMU: (.*)$/) {
+           $self->log('info', "[$self->{node}] $1\n");
        }
     }, errfunc => sub {
        my $line = shift;
-       $self->log('info', $line);
+       $self->log('info', "[$self->{node}] $line");
     }, noerr => 1);
 
     die "remote command failed with exit code $exitcode\n" if $exitcode;
@@ -689,8 +686,13 @@ sub phase2 {
        foreach my $drive (keys %{$self->{target_drive}}){
            my $target = $self->{target_drive}->{$drive};
            my $nbd_uri = $target->{nbd_uri};
-           my $source_sid = PVE::Storage::Plugin::parse_volume_id($conf->{$drive});
-           my $target_sid = PVE::Storage::Plugin::parse_volume_id($target->{volid});
+
+           my $source_drive = PVE::QemuServer::parse_drive($drive, $conf->{$drive});
+           my $target_drive = PVE::QemuServer::parse_drive($drive, $target->{drivestr});
+
+           my $source_sid = PVE::Storage::Plugin::parse_volume_id($source_drive->{file});
+           my $target_sid = PVE::Storage::Plugin::parse_volume_id($target_drive->{file});
+
            my $bwlimit = PVE::Storage::get_bandwidth_limit('migrate', [$source_sid, $target_sid], $opt_bwlimit);
 
            $self->log('info', "$drive: start migration to $nbd_uri");
@@ -966,7 +968,7 @@ sub phase3_cleanup {
            die "Failed to complete storage migration: $err\n";
        } else {
            foreach my $target_drive (keys %{$self->{target_drive}}) {
-               my $drive = PVE::QemuServer::parse_drive($target_drive, $self->{target_drive}->{$target_drive}->{volid});
+               my $drive = PVE::QemuServer::parse_drive($target_drive, $self->{target_drive}->{$target_drive}->{drivestr});
                $conf->{$target_drive} = PVE::QemuServer::print_drive($drive);
                PVE::QemuConfig->write_config($vmid, $conf);
            }