]> git.sur5r.net Git - bacula/bacula/commitdiff
This patch fixes bug #1012 where the job is canceled because
authorKern Sibbald <kern@sibbald.com>
Fri, 30 Nov 2007 21:29:53 +0000 (21:29 +0000)
committerKern Sibbald <kern@sibbald.com>
Fri, 30 Nov 2007 21:29:53 +0000 (21:29 +0000)
     of Max Run Time exceeded when the job has not yet started.

git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@6001 91ce42f0-d328-0410-95d8-f526ca767f89

bacula/patches/2.2.6-maxruntime.patch [new file with mode: 0644]
bacula/src/dird/job.c
bacula/technotes-2.3

diff --git a/bacula/patches/2.2.6-maxruntime.patch b/bacula/patches/2.2.6-maxruntime.patch
new file mode 100644 (file)
index 0000000..decd466
--- /dev/null
@@ -0,0 +1,34 @@
+  This patch fixes bug #1012 where the job is canceled because
+  of Max Run Time exceeded when the job has not yet started.
+
+  Apply it to 2.2.6 or any prior 2.2.x version with:
+
+  cd <bacula-source>
+  patch -p0 <2.2.6-maxruntime.patch
+  ./configure <your-options>
+  make
+  ...
+  make install
+
+
+Index: src/dird/job.c
+===================================================================
+--- src/dird/job.c     (revision 5979)
++++ src/dird/job.c     (working copy)
+@@ -556,7 +556,7 @@
+  */
+ static bool job_check_maxruntime(JCR *control_jcr, JCR *jcr)
+ {
+-   if (jcr->job->MaxRunTime == 0 || job_canceled(jcr)) {
++   if (jcr->job->MaxRunTime == 0 || job_canceled(jcr) || jcr->JobStatus == JS_Created) {
+       return false;
+    }
+    if ((watchdog_time - jcr->start_time) < jcr->job->MaxRunTime) {
+@@ -931,6 +931,7 @@
+ {
+    jcr->job = job;
+    jcr->JobType = job->JobType;
++   jcr->JobStatus = JS_Created;
+    switch (jcr->JobType) {
+    case JT_ADMIN:
+    case JT_RESTORE:
index 1ffecf1db67a668daadd9941b96de7ac63f5ab2a..3bdddaa818a44a4a797e4e13e5cf595ee276a655 100644 (file)
@@ -556,7 +556,7 @@ static bool job_check_maxwaittime(JCR *control_jcr, JCR *jcr)
  */
 static bool job_check_maxruntime(JCR *control_jcr, JCR *jcr)
 {
-   if (jcr->job->MaxRunTime == 0 || job_canceled(jcr)) {
+   if (jcr->job->MaxRunTime == 0 || job_canceled(jcr) || jcr->JobStatus == JS_Created) {
       return false;
    }
    if ((watchdog_time - jcr->start_time) < jcr->job->MaxRunTime) {
@@ -931,6 +931,7 @@ void set_jcr_defaults(JCR *jcr, JOB *job)
 {
    jcr->job = job;
    jcr->JobType = job->JobType;
+   jcr->JobStatus = JS_Created;
    switch (jcr->JobType) {
    case JT_ADMIN:
    case JT_RESTORE:
index 779dcb1f1d4fe139ead07fe2ad6df39856102d5c..9044407aba633744e3495005027d4e0f41bf47c7 100644 (file)
@@ -1,6 +1,9 @@
               Technical notes on version 2.3
 
 General:
+30Nov07
+kes  This patch fixes bug #1012 where the job is canceled because
+      of Max Run Time exceeded when the job has not yet started.
 29Nov07
 ebl  Apply Richard Mortimer patch that fixes #1016 when there are more than 
      one "part" to write.  Instead of each part being stored on disk,