]> git.proxmox.com Git - qemu-server.git/commitdiff
drive_mirror: rename variables and values
authorFabian Grünbichler <f.gruenbichler@proxmox.com>
Wed, 18 Mar 2020 07:21:29 +0000 (08:21 +0100)
committerFabian Grünbichler <f.gruenbichler@proxmox.com>
Wed, 18 Mar 2020 07:21:29 +0000 (08:21 +0100)
and add some more details to comments.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
PVE/API2/Qemu.pm
PVE/QemuMigrate.pm
PVE/QemuServer.pm

index fa8315e1d18f0572ba3cb6be381e6c5c541b2d6b..ef8a7c38eb7e38ab39f3ac8889cab88a81ab89a8 100644 (file)
@@ -2947,7 +2947,7 @@ __PACKAGE__->register_method({
                    foreach my $opt (keys %$drives) {
                        my $drive = $drives->{$opt};
                        my $skipcomplete = ($total_jobs != $i); # finish after last drive
-                       my $completion = $skipcomplete ? 'skip' : 'wait';
+                       my $completion = $skipcomplete ? 'skip' : 'complete';
 
                        my $src_sid = PVE::Storage::parse_volume_id($drive->{file});
                        my $storage_list = [ $src_sid ];
index 50ebd77a10b9eae25b7f539604e0f9440121c425..3e5f093631f91d0081a79e5260bbb2c82c98fceb 100644 (file)
@@ -999,8 +999,8 @@ sub phase3_cleanup {
     my $tunnel = $self->{tunnel};
 
     if ($self->{storage_migration}) {
-       # finish block-job
-       eval { PVE::QemuServer::qemu_drive_mirror_monitor($vmid, undef, $self->{storage_migration_jobs}, 'wait_noswap'); };
+       # finish block-job with block-job-cancel, to disconnect source VM from NBD
+       eval { PVE::QemuServer::qemu_drive_mirror_monitor($vmid, undef, $self->{storage_migration_jobs}, 'cancel'); };
 
        if (my $err = $@) {
            eval { PVE::QemuServer::qemu_blockjobs_cancel($vmid, $self->{storage_migration_jobs}) };
index 2ef8bff5581192730e5894960a514f4d8968245f..21fb1b1d7c15b6bee6a709a883af38fd853c9d22 100644 (file)
@@ -6580,10 +6580,14 @@ sub qemu_drive_mirror {
     qemu_drive_mirror_monitor ($vmid, $vmiddst, $jobs, $completion, $qga);
 }
 
+# $completion can be either
+# 'complete': wait until all jobs are ready, block-job-complete them (default)
+# 'cancel': wait until all jobs are ready, block-job-cancel them
+# 'skip': wait until all jobs are ready, return with block jobs in ready state
 sub qemu_drive_mirror_monitor {
     my ($vmid, $vmiddst, $jobs, $completion, $qga) = @_;
 
-    $completion //= 'wait'; # same semantic as with 'skipcomplete' before
+    $completion //= 'complete';
 
     eval {
        my $err_complete = 0;
@@ -6659,9 +6663,9 @@ sub qemu_drive_mirror_monitor {
                        print "$job: Completing block job...\n";
 
                        my $op;
-                       if ($completion eq 'wait') {
+                       if ($completion eq 'complete') {
                            $op = 'block-job-complete';
-                       } elsif ($completion eq 'wait_noswap') {
+                       } elsif ($completion eq 'cancel') {
                            $op = 'block-job-cancel';
                        } else {
                            die "invalid completion value: $completion\n";
@@ -6722,7 +6726,7 @@ sub qemu_blockjobs_cancel {
 
 sub clone_disk {
     my ($storecfg, $vmid, $running, $drivename, $drive, $snapname,
-       $newvmid, $storage, $format, $full, $newvollist, $jobs, $skipcomplete, $qga, $bwlimit) = @_;
+       $newvmid, $storage, $format, $full, $newvollist, $jobs, $completion, $qga, $bwlimit) = @_;
 
     my $newvolid;
 
@@ -6767,7 +6771,7 @@ sub clone_disk {
                    if $drive->{iothread};
            }
 
-           qemu_drive_mirror($vmid, $drivename, $newvolid, $newvmid, $sparseinit, $jobs, $skipcomplete, $qga, $bwlimit);
+           qemu_drive_mirror($vmid, $drivename, $newvolid, $newvmid, $sparseinit, $jobs, $completion, $qga, $bwlimit);
        }
     }