]> git.sur5r.net Git - bacula/bacula/commitdiff
ebl fix execution condition
authorEric Bollengier <eric@eb.homelinux.org>
Sat, 26 Jan 2008 22:01:47 +0000 (22:01 +0000)
committerEric Bollengier <eric@eb.homelinux.org>
Sat, 26 Jan 2008 22:01:47 +0000 (22:01 +0000)
git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@6327 91ce42f0-d328-0410-95d8-f526ca767f89

bacula/patches/testing/clientrunaftervss.patch

index fae0987b3f4fd23fa69c2f3a2ec65d2e70cd5853..847f76f7f1b3102e2cbe811408dbef83937427f8 100644 (file)
  ...
  make install
 
-
-
+Index: src/dird/dird_conf.c
+===================================================================
+--- src/dird/dird_conf.c       (révision 6325)
++++ src/dird/dird_conf.c       (copie de travail)
+@@ -1688,10 +1688,12 @@
+       *(int *)(item->value) = SCRIPT_Before ;
+    } else if (strcasecmp(lc->str, "after") == 0) {
+       *(int *)(item->value) = SCRIPT_After;
++   } else if (strcasecmp(lc->str, "aftervss") == 0) {
++      *(int *)(item->value) = SCRIPT_AfterVSS;
+    } else if (strcasecmp(lc->str, "always") == 0) {
+       *(int *)(item->value) = SCRIPT_Any;
+    } else {
+-      scan_err2(lc, _("Expect %s, got: %s"), "Before, After or Always", lc->str);
++      scan_err2(lc, _("Expect %s, got: %s"), "Before, After, AfterVSS or Always", lc->str);
+    }
+    scan_to_eol(lc);
+ }
+Index: src/filed/job.c
+===================================================================
+--- src/filed/job.c    (révision 6325)
++++ src/filed/job.c    (copie de travail)
+@@ -1445,6 +1445,7 @@
+          berrno be;
+          Jmsg(jcr, M_WARNING, 0, _("VSS was not initialized properly. VSS support is disabled. ERR=%s\n"), be.bstrerror());
+       } 
++      run_scripts(jcr, jcr->RunScripts, "ClientAfterVSS");
+    }
+ #endif
+Index: src/lib/runscript.h
+===================================================================
+--- src/lib/runscript.h        (révision 6325)
++++ src/lib/runscript.h        (copie de travail)
+@@ -58,6 +58,7 @@
+    SCRIPT_Never  = 0,
+    SCRIPT_After  = (1<<0),      /* AfterJob */
+    SCRIPT_Before = (1<<1),      /* BeforeJob */
++   SCRIPT_AfterVSS = (1<<2),  /* BeforeJob and After VSS */
+    SCRIPT_Any    = SCRIPT_Before | SCRIPT_After
+ };
 Index: src/lib/runscript.c
 ===================================================================
---- src/lib/runscript.c        (révision 5993)
+--- src/lib/runscript.c        (révision 6325)
 +++ src/lib/runscript.c        (copie de travail)
-@@ -108,6 +108,8 @@
+@@ -116,6 +116,8 @@
  
     if (strstr(label, NT_("Before"))) {
        when = SCRIPT_Before;
@@ -26,13 +66,12 @@ Index: src/lib/runscript.c
     } else {
        when = SCRIPT_After;
     }
-@@ -134,6 +136,19 @@
+@@ -142,6 +144,18 @@
           }
        }
  
 +      if ((script->when & SCRIPT_AfterVSS) && (when & SCRIPT_AfterVSS)) {
-+         if ((script->on_success 
-+            && (jcr->JobStatus == JS_Running || jcr->JobStatus == JS_Created))
++         if ((script->on_success && (jcr->JobStatus == JS_Blocked))
 +            || (script->on_failure && job_canceled(jcr))
 +            )
 +         {
@@ -46,45 +85,3 @@ Index: src/lib/runscript.c
        if ((script->when & SCRIPT_After) && (when & SCRIPT_After)) {
           if ((script->on_success && (jcr->JobStatus == JS_Terminated))
               || (script->on_failure && job_canceled(jcr))
-Index: src/lib/runscript.h
-===================================================================
---- src/lib/runscript.h        (révision 5993)
-+++ src/lib/runscript.h        (copie de travail)
-@@ -56,6 +56,7 @@
-    SCRIPT_Never  = 0,
-    SCRIPT_After  = (1<<0),      /* AfterJob */
-    SCRIPT_Before = (1<<1),      /* BeforeJob */
-+   SCRIPT_AfterVSS = (1<<2),  /* BeforeJob and After VSS */
-    SCRIPT_Any    = SCRIPT_Before | SCRIPT_After
- };
-Index: src/filed/job.c
-===================================================================
---- src/filed/job.c    (révision 5993)
-+++ src/filed/job.c    (copie de travail)
-@@ -1427,6 +1435,7 @@
-          berrno be;
-          Jmsg(jcr, M_WARNING, 0, _("VSS was not initialized properly. VSS support is disabled. ERR=%s\n"), be.bstrerror());
-       } 
-+      run_scripts(jcr, jcr->RunScripts, "ClientAfterVSS");
-    }
- #endif
-Index: src/dird/dird_conf.c
-===================================================================
---- src/dird/dird_conf.c       (révision 5993)
-+++ src/dird/dird_conf.c       (copie de travail)
-@@ -1682,10 +1682,12 @@
-       *(int *)(item->value) = SCRIPT_Before ;
-    } else if (strcasecmp(lc->str, "after") == 0) {
-       *(int *)(item->value) = SCRIPT_After;
-+   } else if (strcasecmp(lc->str, "aftervss") == 0) {
-+      *(int *)(item->value) = SCRIPT_AfterVSS;
-    } else if (strcasecmp(lc->str, "always") == 0) {
-       *(int *)(item->value) = SCRIPT_Any;
-    } else {
--      scan_err2(lc, _("Expect %s, got: %s"), "Before, After or Always", lc->str);
-+      scan_err2(lc, _("Expect %s, got: %s"), "Before, After, AfterVSS or Always", lc->str);
-    }
-    scan_to_eol(lc);
- }