drive_mirror: rename variables and values

and add some more details to comments.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
This commit is contained in:
Fabian Grünbichler 2020-03-18 08:21:29 +01:00
parent 7827de41a2
commit db1f8b39e1
3 changed files with 12 additions and 8 deletions

View 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 ];

View 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}) };

View 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);
}
}