]> git.ipfire.org Git - thirdparty/bacula.git/commitdiff
Fix #6280 About issue with AllowDuplicate on Copy/Migration jobs
authorEric Bollengier <eric@baculasystems.com>
Fri, 5 Jun 2020 15:40:22 +0000 (17:40 +0200)
committerEric Bollengier <eric@baculasystems.com>
Thu, 29 Apr 2021 08:44:19 +0000 (10:44 +0200)
bacula/src/dird/job.c
bacula/src/dird/mac.c

index 91a6d0fc355beca673554203bfe690cca60889c0..2193173eba0a26df4f8858c7c954ae2ce4c0e317 100644 (file)
@@ -1170,7 +1170,11 @@ bool allow_duplicate_job(JCR *jcr)
    }
    endeach_jcr(djcr);
 
-   return true;
+   if (jcr->is_canceled()) {
+      return false;             /* stop the job */
+   } else {
+      return true;              /* Keep going */
+   }
 }
 
 /*
index a4e773b73a21d1febb2613439a59b048e7f82bba..7bd2d23ae28fa74ff85a40055a49b16f02d9a2b1 100644 (file)
@@ -90,10 +90,6 @@ bool do_mac_init(JCR *jcr)
 
    apply_pool_overrides(jcr);
 
-   if (!allow_duplicate_job(jcr)) {
-      return false;
-   }
-
    jcr->jr.PoolId = get_or_create_pool_record(jcr, jcr->pool->name());
    if (jcr->jr.PoolId == 0) {
       Dmsg1(dbglevel, "JobId=%d no PoolId\n", (int)jcr->JobId);
@@ -116,6 +112,10 @@ bool do_mac_init(JCR *jcr)
       return false;
    }
 
+   if (!allow_duplicate_job(jcr)) {
+      return false;
+   }
+
    /* If we find a job or jobs to migrate it is previous_jr.JobId */
    count = getJob_to_migrate(jcr);
    if (count < 0) {