/* 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 offset; u16 nonce; struct bch_csum csum; }; struct extent_ptr_decoded { unsigned idx; bool has_ec; struct bch_extent_crc_unpacked crc; 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 */