]> git.sesse.net Git - bcachefs-tools-debian/blobdiff - libbcachefs/super_types.h
Update bcachefs sources to 5e392aed7a bcachefs: Kill bch2_alloc_write()
[bcachefs-tools-debian] / libbcachefs / super_types.h
index 756dfeba0ae86939da0611a2085ba0be22fd4d17..89419fc7930d004f5b68cc80a53630ac625003d3 100644 (file)
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 #ifndef _BCACHEFS_SUPER_TYPES_H
 #define _BCACHEFS_SUPER_TYPES_H
 
@@ -5,12 +6,46 @@ struct bch_sb_handle {
        struct bch_sb           *sb;
        struct block_device     *bdev;
        struct bio              *bio;
-       unsigned                page_order;
+       size_t                  buffer_size;
        fmode_t                 mode;
+       unsigned                have_layout:1;
+       unsigned                have_bio:1;
+       unsigned                fs_sb:1;
+       u64                     seq;
 };
 
 struct bch_devs_mask {
        unsigned long d[BITS_TO_LONGS(BCH_SB_MEMBERS_MAX)];
 };
 
+struct bch_devs_list {
+       u8                      nr;
+       u8                      devs[BCH_BKEY_PTRS_MAX];
+};
+
+struct bch_member_cpu {
+       u64                     nbuckets;       /* device size */
+       u16                     first_bucket;   /* index of first bucket used */
+       u16                     bucket_size;    /* sectors */
+       u16                     group;
+       u8                      state;
+       u8                      discard;
+       u8                      data_allowed;
+       u8                      durability;
+       u8                      freespace_initialized;
+       u8                      valid;
+};
+
+struct bch_disk_group_cpu {
+       bool                            deleted;
+       u16                             parent;
+       struct bch_devs_mask            devs;
+};
+
+struct bch_disk_groups_cpu {
+       struct rcu_head                 rcu;
+       unsigned                        nr;
+       struct bch_disk_group_cpu       entries[];
+};
+
 #endif /* _BCACHEFS_SUPER_TYPES_H */