diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2022-06-14 01:37:16 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@gmail.com> | 2022-06-16 22:01:10 -0400 |
commit | 3c960be12d5c9a566846861a4e9267789c157d4c (patch) | |
tree | 5a68297e0a187c6cca2dce3c42c2a3440235af91 | |
parent | 20ad364c98e32054935da9b0b2b85c82e2aeceef (diff) |
bcachefs: Fix btree node read retries
b->written wasn't being reset to 0 in the btree node read retry path,
causing decrypting & validation of previously read bsets to not be
re-run - ouch.
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
-rw-r--r-- | fs/bcachefs/btree_io.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/bcachefs/btree_io.c b/fs/bcachefs/btree_io.c index 598d6c5b4fe2..9bf3f77bcae6 100644 --- a/fs/bcachefs/btree_io.c +++ b/fs/bcachefs/btree_io.c @@ -884,6 +884,8 @@ int bch2_btree_node_read_done(struct bch_fs *c, struct bch_dev *ca, int ret, retry_read = 0, write = READ; b->version_ondisk = U16_MAX; + /* We might get called multiple times on read retry: */ + b->written = 0; iter = mempool_alloc(&c->fill_iter, GFP_NOIO); sort_iter_init(iter, b); |