]> git.sur5r.net Git - bacula/bacula/commitdiff
Cread subroutines to add exclusion for plugins
authorKern Sibbald <kern@sibbald.com>
Sat, 6 Mar 2010 09:26:45 +0000 (10:26 +0100)
committerEric Bollengier <eric@eb.homelinux.org>
Mon, 2 Aug 2010 14:49:36 +0000 (16:49 +0200)
bacula/src/filed/filed.h
bacula/src/filed/job.c
bacula/src/filed/protos.h

index 54905cbf445466600514e0be258dde13b5bed316..6aac8f52185be814539f867be71e1216dadc53aa 100644 (file)
@@ -1,7 +1,7 @@
 /*
    Bacula® - The Network Backup Solution
 
-   Copyright (C) 2001-2008 Free Software Foundation Europe e.V.
+   Copyright (C) 2001-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.
  *
  *     Kern Sibbald, Jan MMI
  *
- *   Version $Id$
  */
 
 /*
  * Number of acl errors to report per job.
  */
-#define ACL_REPORT_ERR_MAX_PER_JOB     25
+#define ACL_REPORT_ERR_MAX_PER_JOB      25
 
 /*
  * Number of xattr errors to report per job.
  */
-#define XATTR_REPORT_ERR_MAX_PER_JOB   25
+#define XATTR_REPORT_ERR_MAX_PER_JOB    25
 
 /*
  * Return codes from acl subroutines.
index b7671bf18efa2cc7d2690615f917fc3715a5bcc5..28aa6d5a041c53c5b26acf55cff409fdcf528b39 100644 (file)
@@ -666,8 +666,8 @@ static findFOPTS *start_options(FF_PKT *ff)
  * Add fname to include/exclude fileset list. First check for
  * | and < and if necessary perform command.
  */
-static void add_file_to_fileset(JCR *jcr, const char *fname, findFILESET *fileset,
-                                bool is_file)
+void add_file_to_fileset(JCR *jcr, const char *fname, findFILESET *fileset,
+                         bool is_file)
 {
    char *p;
    BPIPE *bpipe;
@@ -743,6 +743,21 @@ static void add_file_to_fileset(JCR *jcr, const char *fname, findFILESET *filese
    }
 }
 
+findFILESET *new_exclude(JCR *jcr)
+{
+   FF_PKT *ff = jcr->ff;
+   findFILESET *fileset = ff->fileset;
+
+   /* New exclude */
+   fileset->incexe = (findINCEXE *)malloc(sizeof(findINCEXE));
+   memset(fileset->incexe, 0, sizeof(findINCEXE));
+   fileset->incexe->opts_list.init(1, true);
+   fileset->incexe->name_list.init();
+   fileset->incexe->plugin_list.init();
+   fileset->exclude_list.append(fileset->incexe);
+   return fileset;
+}
+
 
 static void add_fileset(JCR *jcr, const char *item)
 {
@@ -793,13 +808,7 @@ static void add_fileset(JCR *jcr, const char *item)
       fileset->include_list.append(fileset->incexe);
       break;
    case 'E':
-      /* New exclude */
-      fileset->incexe = (findINCEXE *)malloc(sizeof(findINCEXE));
-      memset(fileset->incexe, 0, sizeof(findINCEXE));
-      fileset->incexe->opts_list.init(1, true);
-      fileset->incexe->name_list.init();
-      fileset->incexe->plugin_list.init();
-      fileset->exclude_list.append(fileset->incexe);
+      fileset = new_exclude(jcr);
       break;
    case 'N':
       state = state_none;
index 9ac0afbeeb2f1d9f54a54572bf771f5686893b4a..31cdfb3e0060d8ede47a419265ff50a5bc56e2ed 100644 (file)
@@ -1,7 +1,7 @@
 /*
    Bacula® - The Network Backup Solution
 
-   Copyright (C) 2000-2009 Free Software Foundation Europe e.V.
+   Copyright (C) 2000-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.
@@ -26,7 +26,8 @@
    Switzerland, email:ftf@fsfeurope.org.
 */
 /*
- *   Version $Id$
+ * Written by Kern Sibbald, MM 
+ *
  */
 
 extern bool blast_data_to_storage_daemon(JCR *jcr, char *addr);
@@ -64,3 +65,8 @@ void unstrip_path(FF_PKT *ff_pkt);
 /* from xattr.c */
 bxattr_exit_code build_xattr_streams(JCR *jcr, FF_PKT *ff_pkt);
 bxattr_exit_code parse_xattr_streams(JCR *jcr, int stream);
+
+/* from job.c */
+findFILESET *new_exclude(JCR *jcr);
+void add_file_to_fileset(JCR *jcr, const char *fname, findFILESET *fileset,
+                         bool is_file);