]> git.proxmox.com Git - pve-guest-common.git/blobdiff - PVE/ReplicationState.pm
AbstractMigrate: remove unused obsolete variables
[pve-guest-common.git] / PVE / ReplicationState.pm
index 43c8a76c9c814548364032842b37a41bda475ade..83ffa5b82797f0f1de0cb7c202301afabd18a5f0 100644 (file)
@@ -227,6 +227,7 @@ sub purge_old_states {
 }
 
 sub job_status {
+    my ($get_disabled) = @_;
 
     my $local_node = PVE::INotify::nodename();
 
@@ -255,7 +256,7 @@ sub job_status {
            # never sync to local node
            next if $target eq $local_node;
 
-           next if $jobcfg->{disable};
+           next if !$get_disabled && $jobcfg->{disable};
        }
 
        my $state = extract_job_state($stateobj, $jobcfg);
@@ -319,8 +320,16 @@ sub get_next_job {
 
 sub schedule_job_now {
     my ($jobcfg) = @_;
+
     PVE::GuestHelpers::guest_migration_lock($jobcfg->{guest}, undef, sub {
        PVE::Tools::lock_file($state_lock, 10, sub {
+           my $stateobj = read_state();
+           my $vmid = $jobcfg->{guest};
+           my $plugin = PVE::ReplicationConfig->lookup($jobcfg->{type});
+           my $tid = $plugin->get_unique_target_id($jobcfg);
+           # no not modify anything if there is no state
+           return if !defined($stateobj->{$vmid}->{$tid});
+
            my $state = read_job_state($jobcfg);
            $state->{last_try} = 0;
            write_job_state($jobcfg, $state);