u64 skipped_nouse;
};
-struct ec_bucket_buf;
-
-#define BCH_ALLOC_RESERVES() \
- x(btree_movinggc) \
+#define BCH_WATERMARKS() \
+ x(stripe) \
+ x(normal) \
+ x(copygc) \
x(btree) \
- x(movinggc) \
- x(none)
+ x(btree_copygc) \
+ x(reclaim)
-enum alloc_reserve {
-#define x(name) RESERVE_##name,
- BCH_ALLOC_RESERVES()
+enum bch_watermark {
+#define x(name) BCH_WATERMARK_##name,
+ BCH_WATERMARKS()
#undef x
+ BCH_WATERMARK_NR,
};
+#define BCH_WATERMARK_BITS 3
+#define BCH_WATERMARK_MASK ~(~0U << BCH_WATERMARK_BITS)
+
#define OPEN_BUCKETS_COUNT 1024
#define WRITE_POINT_HASH_NR 32
* the block in the stripe this open_bucket corresponds to:
*/
u8 ec_idx;
- enum bch_data_type data_type:8;
+ enum bch_data_type data_type:6;
unsigned valid:1;
unsigned on_partial_list:1;
- unsigned alloc_reserve:3;
u8 dev;
u8 gen;