X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libbcachefs%2Fextents_types.h;h=43d6c341eccabb86be8c5395fef5b558bb52004a;hb=93241a1c9a7dbef987f524a9dea3fc61e87e845b;hp=15805cd29ddb9a9e6bea091271a8d21a09547e84;hpb=ea83a3985d28372d56ec7cea6e73907551869f63;p=bcachefs-tools-debian diff --git a/libbcachefs/extents_types.h b/libbcachefs/extents_types.h index 15805cd..43d6c34 100644 --- a/libbcachefs/extents_types.h +++ b/libbcachefs/extents_types.h @@ -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 */