diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2019-05-14 14:37:11 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-10-22 17:08:22 -0400 |
commit | 6fb076e60d65e574756cd1a4262c1c05b750ec21 (patch) | |
tree | a230de20d70f97167f28441d0c8ee87b228a586b /fs/bcachefs/alloc_background.c | |
parent | ed8413fdab6567985995051869ad211fb8f15d5f (diff) | |
download | linux-6fb076e60d65e574756cd1a4262c1c05b750ec21.tar.gz linux-6fb076e60d65e574756cd1a4262c1c05b750ec21.tar.bz2 linux-6fb076e60d65e574756cd1a4262c1c05b750ec21.zip |
bcachefs: Fix spurious inconsistency in recovery
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/alloc_background.c')
-rw-r--r-- | fs/bcachefs/alloc_background.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/fs/bcachefs/alloc_background.c b/fs/bcachefs/alloc_background.c index 25c18b8cd3a6..61991d898d99 100644 --- a/fs/bcachefs/alloc_background.c +++ b/fs/bcachefs/alloc_background.c @@ -232,7 +232,9 @@ int bch2_alloc_read(struct bch_fs *c, struct journal_keys *journal_keys) bch2_trans_init(&trans, c); for_each_btree_key(&trans, iter, BTREE_ID_ALLOC, POS_MIN, 0, k, ret) - bch2_mark_key(c, k, true, 0, NULL, 0, 0); + bch2_mark_key(c, k, true, 0, NULL, 0, + BCH_BUCKET_MARK_NOATOMIC| + BCH_BUCKET_MARK_ALLOC_READ); ret = bch2_trans_exit(&trans) ?: ret; if (ret) { @@ -243,7 +245,9 @@ int bch2_alloc_read(struct bch_fs *c, struct journal_keys *journal_keys) for_each_journal_key(*journal_keys, j) if (j->btree_id == BTREE_ID_ALLOC) bch2_mark_key(c, bkey_i_to_s_c(j->k), - true, 0, NULL, 0, 0); + true, 0, NULL, 0, + BCH_BUCKET_MARK_NOATOMIC| + BCH_BUCKET_MARK_ALLOC_READ); percpu_down_write(&c->mark_lock); bch2_dev_usage_from_buckets(c); |