diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2022-04-10 07:48:36 +0300 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-10-23 00:09:31 +0300 |
commit | cf0dd697ebc9090d0aeafa933e0e688e291a24fc (patch) | |
tree | e14f84c265f02021312d3262b7d6ae0c5c4fb40b /fs/bcachefs/btree_io.c | |
parent | a9c0a4cbf1ceb9842fee5d7084817509a5e962aa (diff) | |
download | linux-cf0dd697ebc9090d0aeafa933e0e688e291a24fc.tar.xz |
bcachefs: Don't trigger extra assertions in journal replay
We now pass a rw argument to .key_invalid methods so they can trigger
assertions for updates but not on existing keys. We shouldn't trigger
these extra assertions in journal replay - this patch changes the
transaction commit path accordingly.
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
Diffstat (limited to 'fs/bcachefs/btree_io.c')
-rw-r--r-- | fs/bcachefs/btree_io.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/bcachefs/btree_io.c b/fs/bcachefs/btree_io.c index ba1d775039a3..f847928ab743 100644 --- a/fs/bcachefs/btree_io.c +++ b/fs/bcachefs/btree_io.c @@ -767,9 +767,9 @@ static int bset_key_invalid(struct bch_fs *c, struct btree *b, bool updated_range, int rw, struct printbuf *err) { - return __bch2_bkey_invalid(c, k, btree_node_type(b), rw, err) ?: + return __bch2_bkey_invalid(c, k, btree_node_type(b), READ, err) ?: (!updated_range ? bch2_bkey_in_btree_node(b, k, err) : 0) ?: - (rw == WRITE ? bch2_bkey_val_invalid(c, k, rw, err) : 0); + (rw == WRITE ? bch2_bkey_val_invalid(c, k, READ, err) : 0); } static int validate_bset_keys(struct bch_fs *c, struct btree *b, |