]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/filed/xattr.h
Ensure that StorageId is updated after write
[bacula/bacula] / bacula / src / filed / xattr.h
index 1fe551818bac4507f06a81a38af0ccabacfb8945..d54b9124feb45c928b07797815b926d25192a508 100644 (file)
@@ -30,9 +30,9 @@
 #define __XATTR_H
 
 #if defined(HAVE_LINUX_OS)
-#define BXATTR_ENOTSUP          EOPNOTSUPP
+#define BXATTR_ENOTSUP EOPNOTSUPP
 #elif defined(HAVE_DARWIN_OS)
-#define BXATTR_ENOTSUP          ENOTSUP
+#define BXATTR_ENOTSUP ENOTSUP
 #endif
 
 /*
@@ -60,15 +60,31 @@ struct xattr_link_cache_entry_t {
    char target[PATH_MAX];
 };
 
+#define BXATTR_FLAG_SAVE_NATIVE    0x01
+#define BXATTR_FLAG_RESTORE_NATIVE 0x02
+
+struct xattr_build_data_t {
+   uint32_t nr_errors;
+   uint32_t nr_saved;
+   POOLMEM *content;
+   uint32_t content_length;
+   alist *link_cache;
+};
+
+struct xattr_parse_data_t {
+   uint32_t nr_errors;
+};
+
 /*
  * Internal tracking data.
  */
 struct xattr_data_t {
-   POOLMEM *content;
-   uint32_t content_length;
-   uint32_t nr_errors;
-   uint32_t nr_saved;
-   alist *link_cache;
+   uint32_t flags;              /* See BXATTR_FLAG_* */
+   uint32_t current_dev;
+   union {
+      struct xattr_build_data_t *build;
+      struct xattr_parse_data_t *parse;
+   } u;
 };
 
 /*