]> git.sur5r.net Git - bacula/bacula/commitdiff
Fix compilation problem with AFS
authorEric Bollengier <eric@baculasystems.com>
Tue, 22 Sep 2015 13:50:29 +0000 (15:50 +0200)
committerEric Bollengier <eric@baculasystems.com>
Tue, 22 Sep 2015 13:50:29 +0000 (15:50 +0200)
bacula/src/filed/acl.c
bacula/src/findlib/fstype.c
bacula/src/findlib/protos.h

index 916ee694d70a7348d1f57e3fcf2a690876d17c5d..ef1ae801ededcb49b5427de64dbfc946ea0139ca 100644 (file)
@@ -2027,7 +2027,7 @@ bool backup_acl_streams(JCR *jcr, FF_PKT *ff_pkt)
        * AFS is a non OS specific filesystem so see if this path is on an AFS filesystem
        * Set the BACL_FLAG_SAVE_AFS flag if it is. If not set the BACL_FLAG_SAVE_NATIVE flag.
        */
-      if (fstype_equals(jcr->last_fname, "afs")) {
+      if (fstype_cmp(ff_pkt, "afs")) {
          jcr->acl_ctx->flags |= BACL_FLAG_SAVE_AFS;
       } else {
          jcr->acl_ctx->flags |= BACL_FLAG_SAVE_NATIVE;
@@ -2128,7 +2128,7 @@ bacl_rtn_code restore_acl_streams(JCR *jcr, int stream,
        * AFS is a non OS specific filesystem so see if this path is on an AFS filesystem
        * Set the BACL_FLAG_RESTORE_AFS flag if it is. If not set the BACL_FLAG_RETORE_NATIVE flag.
        */
-      if (fstype_equals(jcr->last_fname, "afs")) {
+      if (fstype_cmp(ff_pkt, "afs")) {
          jcr->acl_ctx->flags |= BACL_FLAG_RESTORE_AFS;
       } else {
          jcr->acl_ctx->flags |= BACL_FLAG_RESTORE_NATIVE;
index 5e92fb8ea5ed19da33daa4293d07c94ca326a570..55ac70a03f608874341f9bc001b6a23e7d157285 100644 (file)
@@ -86,6 +86,15 @@ void add_mtab_item(void *user_ctx, struct stat *st, const char *fstype,
    }
 }
 
+/* Compare directly the FS from a fname with a string */
+bool fstype_cmp(FF_PKT *ff_pkt, const char fsname)
+{
+   char buf[256];
+   if (fstype(ff_pkt, buf, sizeof(buf))) {
+      return (strcmp(buf, fsname) == 0);
+   }
+   return false;
+}
 
 /*
  * These functions should be implemented for each OS
index 7291ee82d855bd1faa85d1f6e1d01c5bb61cb39c..12514ada0d4eed8b337c176db82d9f8f67a5730f 100644 (file)
@@ -81,7 +81,7 @@ bool path_list_add(JCR *jcr, uint32_t len, char *fname);
 
 /* from fstype.c */
 bool fstype(FF_PKT *ff_pkt, char *fs, int fslen);
-bool fstype_equals(const char *fname, const char *fstype_name);
+bool fstype_cmp(FF_PKT *ff_pkt, const char *fstype_name);
 
 /* from drivetype.c */
 bool drivetype(const char *fname, char *fs, int fslen);