diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2020-12-15 20:38:17 +0300 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-10-23 00:08:50 +0300 |
commit | 2c40a2403e2b25aca38ba728385657dfca560a62 (patch) | |
tree | 0d563547117adc34f4e0049b2d396cebdd0ddacd /fs/bcachefs/ec.h | |
parent | 81d8599e192e85fa7e01d8a6e8e4095177ff46a3 (diff) | |
download | linux-2c40a2403e2b25aca38ba728385657dfca560a62.tar.xz |
bcachefs: Change allocations for ec stripes to blocking
We don't want writes to not get erasure coded just because the allocator
temporarily wasn't keeping up.
However, it's not guaranteed that these allocations will ever succeed,
we can currently get stuck - especially if devices are different sizes -
we still have work to do in this area.
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/ec.h')
-rw-r--r-- | fs/bcachefs/ec.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/bcachefs/ec.h b/fs/bcachefs/ec.h index 1d4aad50db4d..3f1999bae6d4 100644 --- a/fs/bcachefs/ec.h +++ b/fs/bcachefs/ec.h @@ -146,8 +146,8 @@ void bch2_ec_bucket_cancel(struct bch_fs *, struct open_bucket *); int bch2_ec_stripe_new_alloc(struct bch_fs *, struct ec_stripe_head *); void bch2_ec_stripe_head_put(struct bch_fs *, struct ec_stripe_head *); -struct ec_stripe_head *bch2_ec_stripe_head_get(struct bch_fs *, unsigned, - unsigned, unsigned); +struct ec_stripe_head *bch2_ec_stripe_head_get(struct bch_fs *, + unsigned, unsigned, unsigned, struct closure *); void bch2_stripes_heap_update(struct bch_fs *, struct stripe *, size_t); void bch2_stripes_heap_del(struct bch_fs *, struct stripe *, size_t); |