Linux 6.13-rc4
[linux.git] / fs / bcachefs / extents_types.h
blob43d6c341eccabb86be8c5395fef5b558bb52004a
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _BCACHEFS_EXTENTS_TYPES_H
3 #define _BCACHEFS_EXTENTS_TYPES_H
5 #include "bcachefs_format.h"
7 struct bch_extent_crc_unpacked {
8 u32 compressed_size;
9 u32 uncompressed_size;
10 u32 live_size;
12 u8 csum_type;
13 u8 compression_type;
15 u16 offset;
17 u16 nonce;
19 struct bch_csum csum;
22 struct extent_ptr_decoded {
23 unsigned idx;
24 bool has_ec;
25 struct bch_extent_crc_unpacked crc;
26 struct bch_extent_ptr ptr;
27 struct bch_extent_stripe_ptr ec;
30 struct bch_io_failures {
31 u8 nr;
32 struct bch_dev_io_failures {
33 u8 dev;
34 u8 idx;
35 u8 nr_failed;
36 u8 nr_retries;
37 } devs[BCH_REPLICAS_MAX];
40 #endif /* _BCACHEFS_EXTENTS_TYPES_H */