mirror of
https://git.proxmox.com/git/qemu-server
synced 2025-10-04 13:49:50 +00:00
explain 'nocheck' in more places
was only explained in git history and vm_stop, add comments in other relevant places to avoid future breakage. Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
This commit is contained in:
parent
270bfff2e1
commit
a20dc58a1b
@ -3200,6 +3200,8 @@ __PACKAGE__->register_method({
|
||||
raise_param_exc({ skiplock => "Only root may use this option." })
|
||||
if $skiplock && $authuser ne 'root@pam';
|
||||
|
||||
# nocheck is used as part of migration when config file might be still
|
||||
# be on source node
|
||||
my $nocheck = extract_param($param, 'nocheck');
|
||||
raise_param_exc({ nocheck => "Only root may use this option." })
|
||||
if $nocheck && $authuser ne 'root@pam';
|
||||
|
@ -426,6 +426,8 @@ __PACKAGE__->register_method ({
|
||||
last;
|
||||
} elsif ($line =~ /^resume (\d+)$/) {
|
||||
my $vmid = $1;
|
||||
# check_running and vm_resume with nocheck, since local node
|
||||
# might not have processed config move/rename yet
|
||||
if (PVE::QemuServer::check_running($vmid, 1)) {
|
||||
eval { PVE::QemuServer::vm_resume($vmid, 1, 1); };
|
||||
if ($@) {
|
||||
|
@ -1500,6 +1500,7 @@ sub phase3_cleanup {
|
||||
$self->{errors} = 1;
|
||||
}
|
||||
} else {
|
||||
# nocheck in case target node hasn't processed the config move/rename yet
|
||||
my $cmd = [@{$self->{rem_ssh}}, 'qm', 'resume', $vmid, '--skiplock', '--nocheck'];
|
||||
my $logf = sub {
|
||||
my $line = shift;
|
||||
@ -1561,7 +1562,7 @@ sub phase3_cleanup {
|
||||
}
|
||||
};
|
||||
|
||||
# always stop local VM
|
||||
# always stop local VM with nocheck, since config is moved already
|
||||
eval { PVE::QemuServer::vm_stop($self->{storecfg}, $vmid, 1, 1); };
|
||||
if (my $err = $@) {
|
||||
$self->log('err', "stopping vm failed - $err");
|
||||
|
@ -2788,6 +2788,12 @@ sub check_local_storage_availability {
|
||||
sub check_running {
|
||||
my ($vmid, $nocheck, $node) = @_;
|
||||
|
||||
# $nocheck is set when called during a migration, in which case the config
|
||||
# file might still or already reside on the *other* node
|
||||
# - because rename has already happened, and current node is source
|
||||
# - because rename hasn't happened yet, and current node is target
|
||||
# - because rename has happened, current node is target, but hasn't yet
|
||||
# processed it yet
|
||||
PVE::QemuConfig::assert_config_exists_on_node($vmid, $node) if !$nocheck;
|
||||
return PVE::QemuServer::Helpers::vm_running_locally($vmid);
|
||||
}
|
||||
@ -6359,6 +6365,9 @@ sub vm_suspend {
|
||||
}
|
||||
}
|
||||
|
||||
# $nocheck is set when called as part of a migration - in this context the
|
||||
# location of the config file (source or target node) is not deterministic,
|
||||
# since migration cannot wait for pmxcfs to process the rename
|
||||
sub vm_resume {
|
||||
my ($vmid, $skiplock, $nocheck) = @_;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user