brintos

brintos / linux-shallow public Read only

0
0
Text · 849 B · 8d1e70e Raw
43 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2#ifndef _BCACHEFS_EC_TYPES_H3#define _BCACHEFS_EC_TYPES_H4 5#include "bcachefs_format.h"6 7struct bch_replicas_padded {8	struct bch_replicas_entry_v1	e;9	u8				pad[BCH_BKEY_PTRS_MAX];10};11 12struct stripe {13	size_t			heap_idx;14	u16			sectors;15	u8			algorithm;16	u8			nr_blocks;17	u8			nr_redundant;18	u8			blocks_nonempty;19	u8			disk_label;20};21 22struct gc_stripe {23	u16			sectors;24 25	u8			nr_blocks;26	u8			nr_redundant;27 28	unsigned		alive:1; /* does a corresponding key exist in stripes btree? */29	u16			block_sectors[BCH_BKEY_PTRS_MAX];30	struct bch_extent_ptr	ptrs[BCH_BKEY_PTRS_MAX];31 32	struct bch_replicas_padded r;33};34 35struct ec_stripe_heap_entry {36	size_t			idx;37	unsigned		blocks_nonempty;38};39 40typedef DEFINE_MIN_HEAP(struct ec_stripe_heap_entry, ec_stripes_heap) ec_stripes_heap;41 42#endif /* _BCACHEFS_EC_TYPES_H */43