]> git.sur5r.net Git - bacula/bacula/commitdiff
Make a missing plugin during backup fatal
authorKern Sibbald <kern@sibbald.com>
Wed, 20 Jan 2010 17:09:30 +0000 (18:09 +0100)
committerKern Sibbald <kern@sibbald.com>
Wed, 20 Jan 2010 17:09:30 +0000 (18:09 +0100)
bacula/src/filed/fd_plugins.c
bacula/src/findlib/find.c

index 84bc3bf42350bbabbf999e63b9124b5efe32bd29..a37d13d7c22718a788af96f994ad84e4658592a9 100644 (file)
@@ -1,7 +1,7 @@
 /*
    Bacula® - The Network Backup Solution
 
-   Copyright (C) 2007-2009 Free Software Foundation Europe e.V.
+   Copyright (C) 2007-2010 Free Software Foundation Europe e.V.
 
    The main author of Bacula is Kern Sibbald, with contributions from
    many others, a complete list can be found in the file AUTHORS.
@@ -218,6 +218,7 @@ int plugin_save(JCR *jcr, FF_PKT *ff_pkt, bool top_level)
    POOL_MEM link(PM_FNAME);
 
    if (!plugin_list || !jcr->plugin_ctx_list || job_canceled(jcr)) {
+      Jmsg1(jcr, M_FATAL, 0, "Command plugin \"%s\" not loaded.\n", cmd);
       return 1;                            /* Return if no plugins loaded */
    }
 
@@ -302,7 +303,7 @@ int plugin_save(JCR *jcr, FF_PKT *ff_pkt, bool top_level)
       }
       goto bail_out;
    }
-   Jmsg1(jcr, M_ERROR, 0, "Command plugin \"%s\" not found.\n", cmd);
+   Jmsg1(jcr, M_FATAL, 0, "Command plugin \"%s\" not found.\n", cmd);
 
 bail_out:
    jcr->cmd_plugin = false;
index ed598c426e9c33b2566800d466eaec1a17abc0c8..e6ad61669289d03013a928c42148c9f4fbcd01bd 100644 (file)
@@ -204,15 +204,17 @@ find_files(JCR *jcr, FF_PKT *ff, int file_save(JCR *jcr, FF_PKT *ff_pkt, bool to
                return 0;                  /* error return */
             }
          }
-         if (plugin_save) {
-            foreach_dlist(node, &incexe->plugin_list) {
-               char *fname = node->c_str();
-               Dmsg1(100, "PluginCommand: %s\n", fname);
-               ff->top_fname = fname;
-               ff->cmd_plugin = true;
-               plugin_save(jcr, ff, true);
-               ff->cmd_plugin = false;
+         foreach_dlist(node, &incexe->plugin_list) {
+            char *fname = node->c_str();
+            if (!plugin_save) {
+               Jmsg(jcr, M_FATAL, 0, _("Plugin: \"%s\" not found.\n"), fname);
+               return 0;
             }
+            Dmsg1(100, "PluginCommand: %s\n", fname);
+            ff->top_fname = fname;
+            ff->cmd_plugin = true;
+            plugin_save(jcr, ff, true);
+            ff->cmd_plugin = false;
          }
       }
    }