]> git.sesse.net Git - bcachefs-tools-debian/blobdiff - libbcachefs/ec_types.h
Update bcachefs sources to 6628827a8707 bcachefs: Skip deleted members in member_to_t...
[bcachefs-tools-debian] / libbcachefs / ec_types.h
index e4d633fca5bf913a78a4d78168141dc1458fdaf1..e2b02a82de321bb4612e79eb1034ed997e7f3f0f 100644 (file)
@@ -2,29 +2,31 @@
 #ifndef _BCACHEFS_EC_TYPES_H
 #define _BCACHEFS_EC_TYPES_H
 
-#include <linux/llist.h>
-
-#define EC_STRIPE_MAX  16
+#include "bcachefs_format.h"
 
 struct bch_replicas_padded {
        struct bch_replicas_entry       e;
-       u8                              pad[EC_STRIPE_MAX];
+       u8                              pad[BCH_BKEY_PTRS_MAX];
 };
 
 struct stripe {
        size_t                  heap_idx;
-
        u16                     sectors;
        u8                      algorithm;
+       u8                      nr_blocks;
+       u8                      nr_redundant;
+       u8                      blocks_nonempty;
+};
+
+struct gc_stripe {
+       u16                     sectors;
 
        u8                      nr_blocks;
        u8                      nr_redundant;
 
-       unsigned                alive:1;
-       unsigned                dirty:1;
-       unsigned                on_heap:1;
-       u8                      blocks_nonempty;
-       u16                     block_sectors[EC_STRIPE_MAX];
+       unsigned                alive:1; /* does a corresponding key exist in stripes btree? */
+       u16                     block_sectors[BCH_BKEY_PTRS_MAX];
+       struct bch_extent_ptr   ptrs[BCH_BKEY_PTRS_MAX];
 
        struct bch_replicas_padded r;
 };