]> git.sur5r.net Git - bacula/bacula/commitdiff
Second cut plugin filesets
authorKern Sibbald <kern@sibbald.com>
Sun, 18 Apr 2010 12:01:35 +0000 (14:01 +0200)
committerEric Bollengier <eric@eb.homelinux.org>
Mon, 2 Aug 2010 14:53:13 +0000 (16:53 +0200)
bacula/src/filed/backup.c
bacula/src/filed/fd_plugins.c
bacula/src/filed/restore.c
bacula/src/findlib/find.c
bacula/src/plugins/fd/test-plugin-fd.c
regress/tests/test-plugin-test

index f2695aa3ad543593b59fc08743ba809700c340ac..43b856a8b651202439af0ee5cf1182e4c0dd7dfc 100644 (file)
@@ -542,7 +542,7 @@ int save_file(JCR *jcr, FF_PKT *ff_pkt, bool top_level)
       do_read = true;
    }
 
-   Dmsg2(100, "type=%d do_read=%d\n", ff_pkt->type, do_read);
+   Dmsg2(150, "type=%d do_read=%d\n", ff_pkt->type, do_read);
    if (do_read) {
       btimer_t *tid;
 
index c2c69b073aebcff9030d5e6ffdd8965a244e0bd7..13b9fb0d05e36ad2704883185d65d08a18c90e69 100644 (file)
@@ -1101,6 +1101,7 @@ static bRC baculaAddExclude(bpContext *ctx, const char *file)
    }
    set_incexe(jcr, bctx->exclude);
    add_file_to_fileset(jcr, file, true);
+   Dmsg1(100, "Add exclude file=%s\n", file);
    return bRC_OK;
 }
 
@@ -1124,6 +1125,7 @@ static bRC baculaAddInclude(bpContext *ctx, const char *file)
    }
    set_incexe(jcr, bctx->include);
    add_file_to_fileset(jcr, file, true);
+   Dmsg1(100, "Add include file=%s\n", file);
    return bRC_OK;
 }
 
@@ -1137,12 +1139,8 @@ static bRC baculaAddIncludeOptions(bpContext *ctx, const char *opts)
    if (!opts) {
       return bRC_Error;
    }
-   if (!bctx->include) {  
-      bctx->include = new_preinclude(jcr);
-      new_options(jcr, bctx->include);
-   }
-   set_incexe(jcr, bctx->include);
    add_options_to_fileset(jcr, opts);
+   Dmsg1(1000, "Add options=%s\n", opts);
    return bRC_OK;
 }
 
@@ -1156,12 +1154,8 @@ static bRC baculaAddRegexToInclude(bpContext *ctx, const char *item, int type)
    if (!item) {
       return bRC_Error;
    }
-   if (!bctx->include) {  
-      bctx->include = new_preinclude(jcr);
-      new_options(jcr, bctx->include);
-   }
-   set_incexe(jcr, bctx->include);
    add_regex_to_fileset(jcr, item, type);
+   Dmsg1(100, "Add regex=%s\n", item);
    return bRC_OK;
 }
 
@@ -1175,12 +1169,8 @@ static bRC baculaAddWildToInclude(bpContext *ctx, const char *item, int type)
    if (!item) {
       return bRC_Error;
    }
-   if (!bctx->include) {  
-      bctx->include = new_preinclude(jcr);
-      new_options(jcr, bctx->include);
-   }
-   set_incexe(jcr, bctx->include);
    add_wild_to_fileset(jcr, item, type);
+   Dmsg1(100, "Add wild=%s\n", item);
    return bRC_OK;
 }
 
index d4fffa56250d73abef43c3d1aee119b4516225a7..791520ed24c2a18420074a564ed76d35d44e6b72 100644 (file)
@@ -267,7 +267,7 @@ void do_restore(JCR *jcr)
          Jmsg1(jcr, M_FATAL, 0, _("Record header scan error: %s\n"), sd->msg);
          goto bail_out;
       }
-      Dmsg5(50, "Got hdr: Files=%d FilInx=%d size=%d Stream=%d, %s.\n", 
+      Dmsg5(150, "Got hdr: Files=%d FilInx=%d size=%d Stream=%d, %s.\n", 
             jcr->JobFiles, file_index, rctx.size, rctx.stream, stream_to_ascii(rctx.stream));
 
       /*
index 3cdd8e0826656a8a9ca27efd22d05c1a25e781df..d2da062c86e7e8be2a108d622f837343766879c1 100644 (file)
@@ -40,6 +40,8 @@
 #include "bacula.h"
 #include "find.h"
 
+static const int dbglvl = 150;
+
 int32_t name_max;              /* filename max length */
 int32_t path_max;              /* path name max length */
 
@@ -77,7 +79,7 @@ FF_PKT *init_find_files()
    path_max++;                        /* add for EOS */
    name_max++;                        /* add for EOS */
 
-  Dmsg1(100, "init_find_files ff=%p\n", ff);
+  Dmsg1(dbglvl, "init_find_files ff=%p\n", ff);
   return ff;
 }
 
@@ -89,16 +91,16 @@ FF_PKT *init_find_files()
 void
 set_find_options(FF_PKT *ff, int incremental, time_t save_time)
 {
-  Dmsg0(100, "Enter set_find_options()\n");
+  Dmsg0(dbglvl, "Enter set_find_options()\n");
   ff->incremental = incremental;
   ff->save_time = save_time;
-  Dmsg0(100, "Leave set_find_options()\n");
+  Dmsg0(dbglvl, "Leave set_find_options()\n");
 }
 
 void
 set_find_changed_function(FF_PKT *ff, bool check_fct(JCR *jcr, FF_PKT *ff))
 {
-   Dmsg0(100, "Enter set_find_changed_function()\n");
+   Dmsg0(dbglvl, "Enter set_find_changed_function()\n");
    ff->check_fct = check_fct;
 }
 
@@ -180,7 +182,7 @@ find_files(JCR *jcr, FF_PKT *ff, int file_save(JCR *jcr, FF_PKT *ff_pkt, bool to
          findINCEXE *incexe = (findINCEXE *)fileset->include_list.get(i);
          fileset->incexe = incexe;
          /*
-          * By setting all options, we in effect or the global options
+          * By setting all options, we in effect OR the global options
           *   which is what we want.
           */
          for (j=0; j<incexe->opts_list.size(); j++) {
@@ -197,7 +199,7 @@ find_files(JCR *jcr, FF_PKT *ff, int file_save(JCR *jcr, FF_PKT *ff_pkt, bool to
          dlistString *node;
          foreach_dlist(node, &incexe->name_list) {
             char *fname = node->c_str();
-            Dmsg1(100, "F %s\n", fname);
+            Dmsg1(dbglvl, "F %s\n", fname);
             ff->top_fname = fname;
             if (find_one_file(jcr, ff, our_callback, ff->top_fname, (dev_t)-1, true) == 0) {
                return 0;                  /* error return */
@@ -212,7 +214,7 @@ find_files(JCR *jcr, FF_PKT *ff, int file_save(JCR *jcr, FF_PKT *ff_pkt, bool to
                Jmsg(jcr, M_FATAL, 0, _("Plugin: \"%s\" not found.\n"), fname);
                return 0;
             }
-            Dmsg1(100, "PluginCommand: %s\n", fname);
+            Dmsg1(dbglvl, "PluginCommand: %s\n", fname);
             ff->top_fname = fname;
             ff->cmd_plugin = true;
             plugin_save(jcr, ff, true);
@@ -243,7 +245,7 @@ bool is_in_fileset(FF_PKT *ff)
          incexe = (findINCEXE *)fileset->include_list.get(i);
          foreach_dlist(node, &incexe->name_list) {
             fname = node->c_str();
-            Dmsg2(100, "Inc fname=%s ff->fname=%s\n", fname, ff->fname);
+            Dmsg2(dbglvl, "Inc fname=%s ff->fname=%s\n", fname, ff->fname);
             if (strcmp(fname, ff->fname) == 0) {
                return true;
             }
@@ -253,7 +255,7 @@ bool is_in_fileset(FF_PKT *ff)
          incexe = (findINCEXE *)fileset->exclude_list.get(i);
          foreach_dlist(node, &incexe->name_list) {
             fname = node->c_str();
-            Dmsg2(100, "Exc fname=%s ff->fname=%s\n", fname, ff->fname);
+            Dmsg2(dbglvl, "Exc fname=%s ff->fname=%s\n", fname, ff->fname);
             if (strcmp(fname, ff->fname) == 0) {
                return true;
             }
@@ -273,6 +275,7 @@ static bool accept_file(FF_PKT *ff)
    const char *basename;
    int (*match_func)(const char *pattern, const char *string, int flags);
 
+   Dmsg1(dbglvl, "enter accept_file: fname=%s\n", ff->fname);
    if (ff->flags & FO_ENHANCEDWILD) {
 //    match_func = enh_fnmatch;
       match_func = fnmatch;
@@ -299,7 +302,7 @@ static bool accept_file(FF_PKT *ff)
          for (k=0; k<fo->wilddir.size(); k++) {
             if (match_func((char *)fo->wilddir.get(k), ff->fname, fnmode|fnm_flags) == 0) {
                if (ff->flags & FO_EXCLUDE) {
-                  Dmsg2(100, "Exclude wilddir: %s file=%s\n", (char *)fo->wilddir.get(k),
+                  Dmsg2(dbglvl, "Exclude wilddir: %s file=%s\n", (char *)fo->wilddir.get(k),
                      ff->fname);
                   return false;       /* reject dir */
                }
@@ -310,7 +313,7 @@ static bool accept_file(FF_PKT *ff)
          for (k=0; k<fo->wildfile.size(); k++) {
             if (match_func((char *)fo->wildfile.get(k), ff->fname, fnmode|fnm_flags) == 0) {
                if (ff->flags & FO_EXCLUDE) {
-                  Dmsg2(100, "Exclude wildfile: %s file=%s\n", (char *)fo->wildfile.get(k),
+                  Dmsg2(dbglvl, "Exclude wildfile: %s file=%s\n", (char *)fo->wildfile.get(k),
                      ff->fname);
                   return false;       /* reject file */
                }
@@ -321,7 +324,7 @@ static bool accept_file(FF_PKT *ff)
          for (k=0; k<fo->wildbase.size(); k++) {
             if (match_func((char *)fo->wildbase.get(k), basename, fnmode|fnm_flags) == 0) {
                if (ff->flags & FO_EXCLUDE) {
-                  Dmsg2(100, "Exclude wildbase: %s file=%s\n", (char *)fo->wildbase.get(k),
+                  Dmsg2(dbglvl, "Exclude wildbase: %s file=%s\n", (char *)fo->wildbase.get(k),
                      basename);
                   return false;       /* reject file */
                }
@@ -332,7 +335,7 @@ static bool accept_file(FF_PKT *ff)
       for (k=0; k<fo->wild.size(); k++) {
          if (match_func((char *)fo->wild.get(k), ff->fname, fnmode|fnm_flags) == 0) {
             if (ff->flags & FO_EXCLUDE) {
-               Dmsg2(100, "Exclude wild: %s file=%s\n", (char *)fo->wild.get(k),
+               Dmsg2(dbglvl, "Exclude wild: %s file=%s\n", (char *)fo->wild.get(k),
                   ff->fname);
                return false;          /* reject file */
             }
@@ -393,7 +396,7 @@ static bool accept_file(FF_PKT *ff)
          fnm_flags = (fo->flags & FO_IGNORECASE) ? FNM_CASEFOLD : 0;
          for (k=0; k<fo->wild.size(); k++) {
             if (fnmatch((char *)fo->wild.get(k), ff->fname, fnmode|fnm_flags) == 0) {
-               Dmsg1(100, "Reject wild1: %s\n", ff->fname);
+               Dmsg1(dbglvl, "Reject wild1: %s\n", ff->fname);
                return false;          /* reject file */
             }
          }
@@ -404,7 +407,7 @@ static bool accept_file(FF_PKT *ff)
       foreach_dlist(node, &incexe->name_list) {
          char *fname = node->c_str();
          if (fnmatch(fname, ff->fname, fnmode|fnm_flags) == 0) {
-            Dmsg1(100, "Reject wild2: %s\n", ff->fname);
+            Dmsg1(dbglvl, "Reject wild2: %s\n", ff->fname);
             return false;          /* reject file */
          }
       }
@@ -450,7 +453,7 @@ static int our_callback(JCR *jcr, FF_PKT *ff, bool top_level)
       if (accept_file(ff)) {
          return ff->file_save(jcr, ff, top_level);
       } else {
-         Dmsg1(100, "Skip file %s\n", ff->fname);
+         Dmsg1(dbglvl, "Skip file %s\n", ff->fname);
          return -1;                   /* ignore this file */
       }
 
index ea8c5d8f54642a0386e9ba479f1b16c41f7c3682..c0d1feede1b38be5b10047b84d9f4b0510f4f51d 100644 (file)
@@ -231,6 +231,7 @@ static bRC handlePluginEvent(bpContext *ctx, bEvent *event, void *value)
    /* End of Dir FileSet commands, now we can add excludes */
    case bEventEndFileSet:
       bfuncs->AddWildToInclude(ctx, "*.c", ' ');
+      bfuncs->AddWildToInclude(ctx, "*.cpp", ' ');
       bfuncs->AddIncludeOptions(ctx, "ei");   /* exclude, ignore case */
       break;
    case bEventStartBackupJob:
index 1d07c718b9c8914dc399d0217e408188ef3d374a..60cdf9d3015ba4044f50a31cca21600f6078b6e4 100755 (executable)
@@ -18,7 +18,7 @@ scripts/cleanup
 scripts/copy-plugin-confs
 file=encrypt-bug.jpg
 rm -rf ${cwd}/tmp/*
-echo "${cwd}/README" >${cwd}/tmp/file-list
+echo "${cwd}/build/src" >${cwd}/tmp/file-list
 
 start_test
 
@@ -27,7 +27,7 @@ cat <<END_OF_DATA >${cwd}/tmp/bconcmds
 messages
 @$out ${cwd}/tmp/log1.out
 label storage=File1 volume=TestVolume001
-setdebug level=150 client=$CLIENT
+setdebug level=100 client=$CLIENT
 estimate job=$JobName level=Full
 @#setdebug level=150 client=$CLIENT
 @#setdebug level=150 storage=File1