From 2c7221b8606fe2deb6f0ea8fcafd08b55a45af25 Mon Sep 17 00:00:00 2001 From: Eric Bollengier Date: Sat, 26 Jan 2008 22:01:47 +0000 Subject: [PATCH] ebl fix execution condition git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@6327 91ce42f0-d328-0410-95d8-f526ca767f89 --- .../patches/testing/clientrunaftervss.patch | 95 +++++++++---------- 1 file changed, 46 insertions(+), 49 deletions(-) diff --git a/bacula/patches/testing/clientrunaftervss.patch b/bacula/patches/testing/clientrunaftervss.patch index fae0987b3f..847f76f7f1 100644 --- a/bacula/patches/testing/clientrunaftervss.patch +++ b/bacula/patches/testing/clientrunaftervss.patch @@ -11,13 +11,53 @@ ... 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); - } -- 2.39.5