]> git.sur5r.net Git - bacula/bacula/commitdiff
kes Change abort_on_error and AbortJobOnError to fail_on_error
authorKern Sibbald <kern@sibbald.com>
Sun, 22 Jul 2007 10:14:48 +0000 (10:14 +0000)
committerKern Sibbald <kern@sibbald.com>
Sun, 22 Jul 2007 10:14:48 +0000 (10:14 +0000)
     and FailJobOnError in RunScripts.
kes  Minor tweaks of code formating in RunScripts, principally to
     avoid depassing 80 columns.

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

bacula/src/dird/dird_conf.c
bacula/src/dird/fd_cmds.c
bacula/src/filed/job.c
bacula/src/lib/runscript.c
bacula/src/lib/runscript.h
bacula/src/version.h
bacula/technotes-2.1

index 74b55992d0de32eb1c243feb92c7e4883e86f5b9..6f0f63d99c89e06a2d23216d02a87382fbce9776 100644 (file)
@@ -616,10 +616,10 @@ void dump_resource(int type, RES *reshdr, void sendit(void *sock, const char *fm
          dump_resource(-R_SCHEDULE, (RES *)res->res_job.schedule, sendit, sock);
       }
       if (res->res_job.RestoreWhere && !res->res_job.RegexWhere) {
-          sendit(sock, _("  --> Where=%s\n"), NPRT(res->res_job.RestoreWhere));
+           sendit(sock, _("  --> Where=%s\n"), NPRT(res->res_job.RestoreWhere));
       }
       if (res->res_job.RegexWhere) {
-          sendit(sock, _("  --> RegexWhere=%s\n"), NPRT(res->res_job.RegexWhere));
+           sendit(sock, _("  --> RegexWhere=%s\n"), NPRT(res->res_job.RegexWhere));
       }
       if (res->res_job.RestoreBootstrap) {
          sendit(sock, _("  --> Bootstrap=%s\n"), NPRT(res->res_job.RestoreBootstrap));
@@ -642,7 +642,7 @@ void dump_resource(int type, RES *reshdr, void sendit(void *sock, const char *fm
            sendit(sock, _("  --> Target=%s\n"),  NPRT(script->target));
            sendit(sock, _("  --> RunOnSuccess=%u\n"),  script->on_success);
            sendit(sock, _("  --> RunOnFailure=%u\n"),  script->on_failure);
-           sendit(sock, _("  --> AbortJobOnError=%u\n"),  script->abort_on_error);
+           sendit(sock, _("  --> FailJobOnError=%u\n"),  script->fail_on_error);
            sendit(sock, _("  --> RunWhen=%u\n"),  script->when);
         }
       }
@@ -1322,34 +1322,34 @@ void save_resource(int type, RES_ITEM *items, int pass)
          res->res_job.run_cmds   = res_all.res_job.run_cmds;
          res->res_job.RunScripts = res_all.res_job.RunScripts;
 
-        /* TODO: JobDefs where/regexwhere doesn't work well (but this
-         * is not very useful) 
-         * We have to set_bit(index, res_all.hdr.item_present);
-         * or something like that
-         */
+         /* TODO: JobDefs where/regexwhere doesn't work well (but this
+          * is not very useful) 
+          * We have to set_bit(index, res_all.hdr.item_present);
+          * or something like that
+          */
 
          /* we take RegexWhere before all other options */
-        if (!res->res_job.RegexWhere 
-            &&
-            (res->res_job.strip_prefix ||
-             res->res_job.add_suffix   ||
-             res->res_job.add_prefix))
-        {
-           int len = bregexp_get_build_where_size(res->res_job.strip_prefix,
-                                                  res->res_job.add_prefix,
-                                                  res->res_job.add_suffix);
-           res->res_job.RegexWhere = (char *) bmalloc (len * sizeof(char));
-           bregexp_build_where(res->res_job.RegexWhere, len,
-                               res->res_job.strip_prefix,
-                               res->res_job.add_prefix,
-                               res->res_job.add_suffix);
-           /* TODO: test bregexp */
-        }
-
-        if (res->res_job.RegexWhere && res->res_job.RestoreWhere) {
-           free(res->res_job.RestoreWhere);
-           res->res_job.RestoreWhere = NULL;
-        }
+         if (!res->res_job.RegexWhere 
+             &&
+             (res->res_job.strip_prefix ||
+              res->res_job.add_suffix   ||
+              res->res_job.add_prefix))
+         {
+            int len = bregexp_get_build_where_size(res->res_job.strip_prefix,
+                                                   res->res_job.add_prefix,
+                                                   res->res_job.add_suffix);
+            res->res_job.RegexWhere = (char *) bmalloc (len * sizeof(char));
+            bregexp_build_where(res->res_job.RegexWhere, len,
+                                res->res_job.strip_prefix,
+                                res->res_job.add_prefix,
+                                res->res_job.add_suffix);
+            /* TODO: test bregexp */
+         }
+
+         if (res->res_job.RegexWhere && res->res_job.RestoreWhere) {
+            free(res->res_job.RestoreWhere);
+            res->res_job.RestoreWhere = NULL;
+         }
 
          break;
       case R_COUNTER:
@@ -1717,7 +1717,7 @@ static void store_short_runscript(LEX *lc, RES_ITEM *item, int index, int pass)
 
       if (strcmp(item->name, "runbeforejob") == 0) {
          script->when = SCRIPT_Before;
-         script->abort_on_error = true;
+         script->fail_on_error = true;
          script->set_target("");
 
       } else if (strcmp(item->name, "runafterjob") == 0) {
@@ -1737,7 +1737,7 @@ static void store_short_runscript(LEX *lc, RES_ITEM *item, int index, int pass)
          script->old_proto = true;
          script->when = SCRIPT_Before;
          script->set_target("%c");
-         script->abort_on_error = true;
+         script->fail_on_error = true;
 
       } else if (strcmp(item->name, "runafterfailedjob") == 0) {
          script->when = SCRIPT_After;
@@ -1782,7 +1782,8 @@ static RES_ITEM runscript_items[] = {
  {"target",         store_runscript_target,{(char **)&res_runscript},          0,  0, 0}, 
  {"runsonsuccess",  store_runscript_bool, {(char **)&res_runscript.on_success},0,  0, 0},
  {"runsonfailure",  store_runscript_bool, {(char **)&res_runscript.on_failure},0,  0, 0},
- {"abortjobonerror",store_runscript_bool, {(char **)&res_runscript.abort_on_error},0, 0, 0},
+ {"failjobonerror",store_runscript_bool, {(char **)&res_runscript.fail_on_error},0, 0, 0},
+ {"abortjobonerror",store_runscript_bool, {(char **)&res_runscript.fail_on_error},0, 0, 0},
  {"runswhen",       store_runscript_when, {(char **)&res_runscript.when},      0,  0, 0},
  {"runsonclient",   store_runscript_target,{(char **)&res_runscript},          0,  0, 0}, /* TODO */
  {NULL, NULL, {0}, 0, 0, 0}
@@ -1802,7 +1803,7 @@ static void store_runscript(LEX *lc, RES_ITEM *item, int index, int pass)
 
    Dmsg1(200, "store_runscript: begin store_runscript pass=%i\n", pass);
 
-   res_runscript.reset_default();      /* setting on_success, on_failure, abort_on_error */
+   res_runscript.reset_default();      /* setting on_success, on_failure, fail_on_error */
    
    token = lex_get_token(lc, T_SKIP_EOL);
    
index c9ef6bd1254749ad59584937933a5cd3e3f62160..755810c1b07acdf7fff2b5a01aa8da9b45774a11 100644 (file)
@@ -549,7 +549,7 @@ int send_runscripts_commands(JCR *jcr)
             } else {
                bnet_fsend(fd, runscript, cmd->on_success, 
                                          cmd->on_failure,
-                                         cmd->abort_on_error,
+                                         cmd->fail_on_error,
                                          cmd->when,
                                          msg);
 
index fed4e2f5f010e6793f5885d9ee2eaf040252a78b..090a10ea83a2adcd1cc2a1ce9e5e78a1cf3eb94f 100644 (file)
@@ -530,7 +530,7 @@ static int runscript_cmd(JCR *jcr)
 {
    BSOCK *dir = jcr->dir_bsock;
    POOLMEM *msg = get_memory(dir->msglen+1);
-   int on_success, on_failure, abort_on_error;
+   int on_success, on_failure, fail_on_error;
 
    RUNSCRIPT *cmd = new_runscript() ;
 
@@ -538,7 +538,7 @@ static int runscript_cmd(JCR *jcr)
    /* Note, we cannot sscanf into bools */
    if (sscanf(dir->msg, runscript, &on_success, 
                                   &on_failure,
-                                  &abort_on_error,
+                                  &fail_on_error,
                                   &cmd->when,
                                   msg) != 5) {
       pm_strcpy(jcr->errmsg, dir->msg);
@@ -550,7 +550,7 @@ static int runscript_cmd(JCR *jcr)
    }
    cmd->on_success = on_success;
    cmd->on_failure = on_failure;
-   cmd->abort_on_error = abort_on_error;
+   cmd->fail_on_error = fail_on_error;
    unbash_spaces(msg);
 
    cmd->set_command(msg);
index 341e84965217a37d6c02ebc5f97eb0e91838cf50..4ce5867550b55ae74395e7562795617c1cf0345f 100644 (file)
@@ -63,7 +63,7 @@ void RUNSCRIPT::reset_default(bool free_strings)
    command = NULL;
    on_success = true;
    on_failure = false;
-   abort_on_error = true;
+   fail_on_error = true;
    when = SCRIPT_Never;
    old_proto = false;        /* TODO: drop this with bacula 1.42 */
 }
@@ -103,7 +103,7 @@ int run_scripts(JCR *jcr, alist *runscripts, const char *label)
    
    RUNSCRIPT *script;
    bool runit;
-   bool status;
+   bool ok;
 
    int when;
 
@@ -120,33 +120,29 @@ int run_scripts(JCR *jcr, alist *runscripts, const char *label)
 
    foreach_alist(script, runscripts) {
       Dmsg2(200, "runscript: try to run %s:%s\n", NPRT(script->target), NPRT(script->command));
-      runit=false;
+      runit = false;
 
       if ((script->when & SCRIPT_Before) && (when & SCRIPT_Before)) {
-         if (  (script->on_success && (jcr->JobStatus == JS_Running || jcr->JobStatus == JS_Created))
-               ||
-               (script->on_failure && job_canceled(jcr))
+         if ((script->on_success 
+            && (jcr->JobStatus == JS_Running || jcr->JobStatus == JS_Created))
+            || (script->on_failure && job_canceled(jcr))
             )
          {
-            Dmsg4(200, "runscript: Run it because SCRIPT_Before (%s,%i,%i,%c)\n", script->command,
-                                                                                  script->on_success,
-                                                                                  script->on_failure,
-                                                                                  jcr->JobStatus );
-
+            Dmsg4(200, "runscript: Run it because SCRIPT_Before (%s,%i,%i,%c)\n", 
+                  script->command, script->on_success, script->on_failure,
+                  jcr->JobStatus );
             runit = true;
          }
       }
 
       if ((script->when & SCRIPT_After) && (when & SCRIPT_After)) {
-         if (  (script->on_success && (jcr->JobStatus == JS_Terminated))
-               ||
-               (script->on_failure && job_canceled(jcr))
+         if ((script->on_success && (jcr->JobStatus == JS_Terminated))
+             || (script->on_failure && job_canceled(jcr))
             )
          {
-            Dmsg4(200, "runscript: Run it because SCRIPT_After (%s,%i,%i,%c)\n", script->command,
-                                                                                 script->on_success,
-                                                                                 script->on_failure,
-                                                                                 jcr->JobStatus );
+            Dmsg4(200, "runscript: Run it because SCRIPT_After (%s,%i,%i,%c)\n", 
+                  script->command, script->on_success, script->on_failure,
+                  jcr->JobStatus );
             runit = true;
          }
       }
@@ -157,14 +153,10 @@ int run_scripts(JCR *jcr, alist *runscripts, const char *label)
 
       /* we execute it */
       if (runit) {
-        status = script->run(jcr, label);
+        ok = script->run(jcr, label);
 
         /* cancel running job properly */
-        if (   script->abort_on_error 
-            && (status == false) 
-            && (jcr->JobStatus == JS_Created || jcr->JobStatus == JS_Running)
-           )
-        {
+        if (script->fail_on_error && !ok) {
            set_jcr_job_status(jcr, JS_ErrorTerminated);
         }
       }
@@ -268,6 +260,6 @@ void RUNSCRIPT::debug()
    Dmsg1(200,  _("  --> Target=%s\n"),  NPRT(target));
    Dmsg1(200,  _("  --> RunOnSuccess=%u\n"),  on_success);
    Dmsg1(200,  _("  --> RunOnFailure=%u\n"),  on_failure);
-   Dmsg1(200,  _("  --> AbortJobOnError=%u\n"),  abort_on_error);
+   Dmsg1(200,  _("  --> FailJobOnError=%u\n"),  fail_on_error);
    Dmsg1(200,  _("  --> RunWhen=%u\n"),  when);
 }
index 6b8d8523e0789bbae553bfa8868f828ef8dd215d..ff66d336ba2c7850cdc7a8148e619c203472abd1 100644 (file)
@@ -68,9 +68,9 @@ public:
    POOLMEM *target;             /* host target */
    int  when;                   /* SCRIPT_Before|Script_After BEFORE/AFTER JOB*/
    char level;                  /* Base|Full|Incr...|All (NYI) */
-   bool on_success;             /* executre command on job success (After) */
-   bool on_failure;             /* executre command on job failure (After) */
-   bool abort_on_error;         /* abort job on error (Before) */
+   bool on_success;             /* execute command on job success (After) */
+   bool on_failure;             /* execute command on job failure (After) */
+   bool fail_on_error;         /* abort job on error (Before) */
    /* TODO : drop this with bacula 1.42 */
    bool old_proto;              /* used by old 1.3X protocol */
 
index be204d93f9bd05c0140b0b5dd3034b24b93249d8..b49f9ae369e69712ca3e6979785dd84d1ab9520c 100644 (file)
@@ -4,8 +4,8 @@
 
 #undef  VERSION
 #define VERSION "2.1.29"
-#define BDATE   "21 July 2007"
-#define LSMDATE "21Jul07"
+#define BDATE   "22 July 2007"
+#define LSMDATE "22Jul07"
 
 #define PROG_COPYRIGHT "Copyright (C) %d-2007 Free Software Foundation Europe e.V.\n"
 #define BYEAR "2007"       /* year for copyright messages in progs */
index 28828f7716ee23feeefd10a9a73f5c61df8bc629..f2405ff22b885772963098ba1c582d0faa164592 100644 (file)
@@ -1,6 +1,11 @@
               Technical notes on version 2.1
 
 General:
+22Jul07
+kes  Change abort_on_error and AbortJobOnError to fail_on_error
+     and FailJobOnError in RunScripts.
+kes  Minor tweaks of code formating in RunScripts, principally to
+     avoid depassing 80 columns.
 21Jul07
 kes  Eliminate one #ifdef Win32 in bsmtp
 kes  Implement grow tool to grow a file for testing very large databases.