mirror of
https://github.com/raspberrypi/linux.git
synced 2026-01-04 18:27:36 +00:00
bcachefs: Account for stripe parity sectors separately
Instead of trying to charge EC parity to the data within the stripe (which is subject to rounding errors), let's charge it to the stripe itself. It should also make -ENOSPC issues easier to deal with if we charge for parity blocks up front, and means we can also make more fine grained accounting available to the user. Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
This commit is contained in:
committed by
Kent Overstreet
parent
39283c712e
commit
af4d05c46b
@@ -3,6 +3,7 @@
|
||||
#define _BCACHEFS_EC_H
|
||||
|
||||
#include "ec_types.h"
|
||||
#include "buckets_types.h"
|
||||
#include "keylist_types.h"
|
||||
|
||||
const char *bch2_stripe_invalid(const struct bch_fs *, struct bkey_s_c);
|
||||
@@ -105,6 +106,7 @@ struct ec_stripe_new {
|
||||
struct open_buckets blocks;
|
||||
u8 data_block_idx[EC_STRIPE_MAX];
|
||||
struct open_buckets parity;
|
||||
struct disk_reservation res;
|
||||
|
||||
struct keylist keys;
|
||||
u64 inline_keys[BKEY_U64s * 8];
|
||||
|
||||
Reference in New Issue
Block a user