From 64a0768d38f58b12c4f6560593d7a63f3c1780dc Mon Sep 17 00:00:00 2001 From: Kern Sibbald Date: Sun, 18 Apr 2010 14:01:35 +0200 Subject: [PATCH] Second cut plugin filesets --- bacula/src/filed/backup.c | 2 +- bacula/src/filed/fd_plugins.c | 20 ++++----------- bacula/src/filed/restore.c | 2 +- bacula/src/findlib/find.c | 35 ++++++++++++++------------ bacula/src/plugins/fd/test-plugin-fd.c | 1 + regress/tests/test-plugin-test | 4 +-- 6 files changed, 29 insertions(+), 35 deletions(-) diff --git a/bacula/src/filed/backup.c b/bacula/src/filed/backup.c index f2695aa3ad..43b856a8b6 100644 --- a/bacula/src/filed/backup.c +++ b/bacula/src/filed/backup.c @@ -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; diff --git a/bacula/src/filed/fd_plugins.c b/bacula/src/filed/fd_plugins.c index c2c69b073a..13b9fb0d05 100644 --- a/bacula/src/filed/fd_plugins.c +++ b/bacula/src/filed/fd_plugins.c @@ -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; } diff --git a/bacula/src/filed/restore.c b/bacula/src/filed/restore.c index d4fffa5625..791520ed24 100644 --- a/bacula/src/filed/restore.c +++ b/bacula/src/filed/restore.c @@ -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)); /* diff --git a/bacula/src/findlib/find.c b/bacula/src/findlib/find.c index 3cdd8e0826..d2da062c86 100644 --- a/bacula/src/findlib/find.c +++ b/bacula/src/findlib/find.c @@ -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; jopts_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; kwilddir.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; kwildfile.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; kwildbase.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; kwild.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; kwild.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 */ } diff --git a/bacula/src/plugins/fd/test-plugin-fd.c b/bacula/src/plugins/fd/test-plugin-fd.c index ea8c5d8f54..c0d1feede1 100644 --- a/bacula/src/plugins/fd/test-plugin-fd.c +++ b/bacula/src/plugins/fd/test-plugin-fd.c @@ -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: diff --git a/regress/tests/test-plugin-test b/regress/tests/test-plugin-test index 1d07c718b9..60cdf9d301 100755 --- a/regress/tests/test-plugin-test +++ b/regress/tests/test-plugin-test @@ -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 <${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 -- 2.39.5