]> git.sur5r.net Git - bacula/bacula/commitdiff
Suppress incorrect 'Will not descend from x into y' messages
authorKern Sibbald <kern@sibbald.com>
Wed, 27 Feb 2008 21:35:30 +0000 (21:35 +0000)
committerKern Sibbald <kern@sibbald.com>
Wed, 27 Feb 2008 21:35:30 +0000 (21:35 +0000)
git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@6502 91ce42f0-d328-0410-95d8-f526ca767f89

bacula/src/filed/backup.c
bacula/src/findlib/find.c
bacula/src/findlib/protos.h
bacula/technotes-2.3

index 04903db923cc02a935247a178a3a9c6ee3338d54..94c9e26056ba084ed95818c185159459d1717d9b 100644 (file)
@@ -552,7 +552,8 @@ int save_file(JCR *jcr, FF_PKT *ff_pkt, bool top_level)
       break;
    case FT_NOFSCHG:
       /* Suppress message for /dev filesystems */
-      if (strncmp(ff_pkt->fname, "/dev/", 5) != 0) {
+//    if (strncmp(ff_pkt->fname, "/dev/", 5) != 0) {
+      if (!is_in_fileset(ff_pkt)) {
          Jmsg(jcr, M_INFO, 1, _("     %s is a different filesystem. Will not descend from %s into %s\n"),
               ff_pkt->fname, ff_pkt->top_fname, ff_pkt->fname);
       }
index 88b0bd08d494fc9828696fb1b25e94098c97b232..e19cad53126c84f98e2a0e626dea3b57d92d7236 100644 (file)
@@ -215,6 +215,46 @@ find_files(JCR *jcr, FF_PKT *ff, int file_save(JCR *jcr, FF_PKT *ff_pkt, bool to
    return 1;
 }
 
+/*
+ * Test if the currently selected directory (in ff->fname) is
+ *  explicitly in the Include list or explicitly in the Exclude 
+ *  list.
+ */
+bool is_in_fileset(FF_PKT *ff)
+{
+   dlistString *node;
+   char *fname;
+   int i;
+   findINCEXE *incexe;
+   findFILESET *fileset = ff->fileset;
+   if (fileset) {
+      for (i=0; i<fileset->include_list.size(); i++) {
+         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);
+            if (strcmp(fname, ff->fname) == 0) {
+               return true;
+            }
+         }
+      }
+#ifdef xxx
+      for (i=0; i<fileset->exclude_list.size(); i++) {
+         incexe = (findINCEXE *)fileset->exclude_list.get(i);
+         foreach_dlist(node, &incexe->name_list) {
+            fname = node->c_str();
+            Dmsg2(000, "Exc fname=%s ff->fname=%s\n", fname, ff->fname);
+            if (strcmp(fname, ff->fname) == 0) {
+               return true;
+            }
+         }
+      }
+#endif
+   }
+   return false;
+}
+
+
 static bool accept_file(FF_PKT *ff)
 {
    int i, j, k;
index 5c6fd4599ad4df41ffef62c9cbf9d6681a83c5ab..702959783bc69be26e5c61992649c1086b075699 100644 (file)
@@ -51,6 +51,7 @@ int   find_files(JCR *jcr, FF_PKT *ff, int file_sub(JCR *, FF_PKT *ff_pkt, bool)
 int   match_files(JCR *jcr, FF_PKT *ff, int sub(JCR *, FF_PKT *ff_pkt, bool));
 int   term_find_files(FF_PKT *ff);
 int   get_win32_driveletters(FF_PKT *ff, char* szDrives);
+bool  is_in_fileset(FF_PKT *ff);
 
 /* From match.c */
 void  init_include_exclude_files(FF_PKT *ff);
index 0b9b941b6da34e46ca85a32fc965db86401f9719..82fd2905dbb177df88bfd2d4d21a5c65530abb81 100644 (file)
@@ -2,6 +2,7 @@
 
 General:
 27Feb08
+kes   Suppress incorrect 'Will not descend from x into y' messages.
 kes   Eliminate FORTIFY_CODE=2 bug, and make first cut at removing 
       daemon globals used by parser.              
 kes  Apply Joao's patch to separate DB_TYPE and DB_PROG in configure.