diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2021-01-18 20:20:24 -0500 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-10-22 17:08:51 -0400 |
commit | 33ccd7188e37ad5d9d662e7450610768bc8cc8a9 (patch) | |
tree | 174cb0eeae13657ac8247b4e4c388846bbaee0cb /fs/bcachefs/ec.c | |
parent | 6c7585b098c519c157cca4ca1c974321f3903ad4 (diff) | |
download | lwn-33ccd7188e37ad5d9d662e7450610768bc8cc8a9.tar.gz lwn-33ccd7188e37ad5d9d662e7450610768bc8cc8a9.zip |
bcachefs: Don't allocate stripes at POS_MIN
In the future, stripe index 0 will be a sentinal value. This patch
doesn't disallow stripes at POS_MIN yet, leaving that for when we do the
on disk format changes.
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/ec.c')
-rw-r--r-- | fs/bcachefs/ec.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/bcachefs/ec.c b/fs/bcachefs/ec.c index 43296763148c..f280ca20d457 100644 --- a/fs/bcachefs/ec.c +++ b/fs/bcachefs/ec.c @@ -690,7 +690,8 @@ static int ec_stripe_bkey_insert(struct bch_fs *c, struct btree_trans trans; struct btree_iter *iter; struct bkey_s_c k; - struct bpos start_pos = POS(0, c->ec_stripe_hint); + struct bpos min_pos = POS(0, 1); + struct bpos start_pos = bpos_max(min_pos, POS(0, c->ec_stripe_hint)); int ret; bch2_trans_init(&trans, c, 0, 0); @@ -701,7 +702,7 @@ retry: BTREE_ITER_SLOTS|BTREE_ITER_INTENT, k, ret) { if (bkey_cmp(k.k->p, POS(0, U32_MAX)) > 0) { if (start_pos.offset) { - start_pos = POS_MIN; + start_pos = min_pos; bch2_btree_iter_set_pos(iter, start_pos); continue; } |