]> git.sesse.net Git - bcachefs-tools-debian/blobdiff - libbcachefs/ec_types.h
Update bcachefs sources to 5d0a6c2b32f1 bcachefs: check_directory_structure() can...
[bcachefs-tools-debian] / libbcachefs / ec_types.h
index 5c3f77c8aac71b9f269031f9deb2271e7e59c519..976426da3a124aaeb7edd70747cd71e547558224 100644 (file)
@@ -2,28 +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];
+       struct bch_replicas_entry_v1    e;
+       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;
-       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;
 };