]> git.sesse.net Git - bcachefs-tools-debian/blobdiff - libbcachefs/subvolume_types.h
Disable pristine-tar option in gbp.conf, since there is no pristine-tar branch.
[bcachefs-tools-debian] / libbcachefs / subvolume_types.h
index 9410b9587591e8c479765c911b3a586e5a6d0bef..40f16e3a6dd04f1e14ae493665c07eb86e9b2737 100644 (file)
@@ -2,10 +2,34 @@
 #ifndef _BCACHEFS_SUBVOLUME_TYPES_H
 #define _BCACHEFS_SUBVOLUME_TYPES_H
 
-struct snapshot_id_list {
-       u32             nr;
-       u32             size;
-       u32             *d;
+#include <linux/darray_types.h>
+
+typedef DARRAY(u32) snapshot_id_list;
+
+#define IS_ANCESTOR_BITMAP     128
+
+struct snapshot_t {
+       u32                     parent;
+       u32                     skip[3];
+       u32                     depth;
+       u32                     children[2];
+       u32                     subvol; /* Nonzero only if a subvolume points to this node: */
+       u32                     tree;
+       u32                     equiv;
+       unsigned long           is_ancestor[BITS_TO_LONGS(IS_ANCESTOR_BITMAP)];
 };
 
+struct snapshot_table {
+#ifndef RUST_BINDGEN
+       DECLARE_FLEX_ARRAY(struct snapshot_t, s);
+#else
+       struct snapshot_t       s[0];
+#endif
+};
+
+typedef struct {
+       u32             subvol;
+       u64             inum;
+} subvol_inum;
+
 #endif /* _BCACHEFS_SUBVOLUME_TYPES_H */