]> git.sesse.net Git - bcachefs-tools-debian/blobdiff - libbcachefs/extents_types.h
Update bcachefs sources to 2272c5f5b7 bcachefs: Mark stripe buckets with correct...
[bcachefs-tools-debian] / libbcachefs / extents_types.h
index 15805cd29ddb9a9e6bea091271a8d21a09547e84..43d6c341eccabb86be8c5395fef5b558bb52004a 100644 (file)
@@ -1,27 +1,40 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 #ifndef _BCACHEFS_EXTENTS_TYPES_H
 #define _BCACHEFS_EXTENTS_TYPES_H
 
 #include "bcachefs_format.h"
 
 struct bch_extent_crc_unpacked {
+       u32                     compressed_size;
+       u32                     uncompressed_size;
+       u32                     live_size;
+
        u8                      csum_type;
        u8                      compression_type;
 
-       u16                     compressed_size;
-       u16                     uncompressed_size;
-
        u16                     offset;
-       u16                     live_size;
 
        u16                     nonce;
 
        struct bch_csum         csum;
 };
 
-struct extent_pick_ptr {
-       struct bch_extent_ptr           ptr;
+struct extent_ptr_decoded {
+       unsigned                        idx;
+       bool                            has_ec;
        struct bch_extent_crc_unpacked  crc;
-       struct bch_dev                  *ca;
+       struct bch_extent_ptr           ptr;
+       struct bch_extent_stripe_ptr    ec;
+};
+
+struct bch_io_failures {
+       u8                      nr;
+       struct bch_dev_io_failures {
+               u8              dev;
+               u8              idx;
+               u8              nr_failed;
+               u8              nr_retries;
+       }                       devs[BCH_REPLICAS_MAX];
 };
 
 #endif /* _BCACHEFS_EXTENTS_TYPES_H */