diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2021-05-22 06:57:37 +0300 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-10-23 00:09:04 +0300 |
commit | 1ce0cf5fe9300f28e834e6fa001cc5a114cd0493 (patch) | |
tree | 235b7e55958463781d9e884bbdcfc8ea6ba73ede /fs/bcachefs/btree_io.h | |
parent | 596d3bdc1e749c63e4defc6abbe2552d035e4470 (diff) | |
download | linux-1ce0cf5fe9300f28e834e6fa001cc5a114cd0493.tar.xz |
bcachefs: Add a debug mode that always reads from every btree replica
There's a new module parameter, verify_all_btree_replicas, that enables
reading from every btree replica when reading in btree nodes and
comparing them against each other. We've been seeing some strange btree
corruption - this will hopefully aid in tracking it down and catching it
more often.
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
Diffstat (limited to 'fs/bcachefs/btree_io.h')
-rw-r--r-- | fs/bcachefs/btree_io.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/bcachefs/btree_io.h b/fs/bcachefs/btree_io.h index cadcf7f886d7..abbc4675964a 100644 --- a/fs/bcachefs/btree_io.h +++ b/fs/bcachefs/btree_io.h @@ -13,6 +13,7 @@ struct bch_fs; struct btree_write; struct btree; struct btree_iter; +struct btree_node_read_all; static inline bool btree_node_dirty(struct btree *b) { @@ -33,8 +34,11 @@ static inline void clear_btree_node_dirty(struct bch_fs *c, struct btree *b) struct btree_read_bio { struct bch_fs *c; + struct btree *b; + struct btree_node_read_all *ra; u64 start_time; unsigned have_ioref:1; + unsigned idx:7; struct extent_ptr_decoded pick; struct work_struct work; struct bio bio; |