mirror of
https://github.com/koverstreet/bcachefs-tools.git
synced 2025-02-02 00:00:03 +03:00
31 lines
496 B
C
31 lines
496 B
C
#ifndef _BCACHEFS_EC_TYPES_H
|
|
#define _BCACHEFS_EC_TYPES_H
|
|
|
|
#include <linux/llist.h>
|
|
|
|
#define EC_STRIPE_MAX 16
|
|
|
|
struct ec_stripe {
|
|
size_t heap_idx;
|
|
|
|
u16 sectors;
|
|
u8 algorithm;
|
|
|
|
u8 nr_blocks;
|
|
u8 nr_redundant;
|
|
|
|
u8 alive;
|
|
atomic_t pin;
|
|
atomic_t blocks_nonempty;
|
|
atomic_t block_sectors[EC_STRIPE_MAX];
|
|
};
|
|
|
|
struct ec_stripe_heap_entry {
|
|
size_t idx;
|
|
unsigned blocks_nonempty;
|
|
};
|
|
|
|
typedef HEAP(struct ec_stripe_heap_entry) ec_stripes_heap;
|
|
|
|
#endif /* _BCACHEFS_EC_TYPES_H */
|