Add zfs_btree_verify_intensity kernel module parameter
I see a few issues in the issue tracker that might be aided by being able to turn this on. We have no module parameter for it, so I would like to add one. Reviewed-by: Alexander Motin <mav@FreeBSD.org> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Richard Yao <richard.yao@alumni.stonybrook.edu> Closes #13874
This commit is contained in:
parent
5096ed31c8
commit
b66f8d3c2b
|
@ -112,7 +112,7 @@ extern int zfs_vdev_async_read_max_active;
|
||||||
extern boolean_t spa_load_verify_dryrun;
|
extern boolean_t spa_load_verify_dryrun;
|
||||||
extern boolean_t spa_mode_readable_spacemaps;
|
extern boolean_t spa_mode_readable_spacemaps;
|
||||||
extern int zfs_reconstruct_indirect_combinations_max;
|
extern int zfs_reconstruct_indirect_combinations_max;
|
||||||
extern int zfs_btree_verify_intensity;
|
extern uint_t zfs_btree_verify_intensity;
|
||||||
|
|
||||||
static const char cmdname[] = "zdb";
|
static const char cmdname[] = "zdb";
|
||||||
uint8_t dump_opt[256];
|
uint8_t dump_opt[256];
|
||||||
|
|
|
@ -1348,6 +1348,22 @@ _
|
||||||
.TE
|
.TE
|
||||||
.Sy \& * No Requires debug build.
|
.Sy \& * No Requires debug build.
|
||||||
.
|
.
|
||||||
|
.It Sy zfs_btree_verify_intensity Ns = Ns Sy 0 Pq uint
|
||||||
|
Enables btree verification.
|
||||||
|
The following settings are culminative:
|
||||||
|
.TS
|
||||||
|
box;
|
||||||
|
lbz r l l .
|
||||||
|
Value Description
|
||||||
|
|
||||||
|
1 Verify height.
|
||||||
|
2 Verify pointers from children to parent.
|
||||||
|
3 Verify element counts.
|
||||||
|
4 Verify element order. (expensive)
|
||||||
|
* 5 Verify unused memory is poisoned. (expensive)
|
||||||
|
.TE
|
||||||
|
.Sy \& * No Requires debug build.
|
||||||
|
.
|
||||||
.It Sy zfs_free_leak_on_eio Ns = Ns Sy 0 Ns | Ns 1 Pq int
|
.It Sy zfs_free_leak_on_eio Ns = Ns Sy 0 Ns | Ns 1 Pq int
|
||||||
If destroy encounters an
|
If destroy encounters an
|
||||||
.Sy EIO
|
.Sy EIO
|
||||||
|
|
|
@ -53,7 +53,7 @@ kmem_cache_t *zfs_btree_leaf_cache;
|
||||||
* (while the asymptotic complexity of the other steps is the same, the
|
* (while the asymptotic complexity of the other steps is the same, the
|
||||||
* importance of the constant factors cannot be denied).
|
* importance of the constant factors cannot be denied).
|
||||||
*/
|
*/
|
||||||
int zfs_btree_verify_intensity = 0;
|
uint_t zfs_btree_verify_intensity = 0;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Convenience functions to silence warnings from memcpy/memmove's
|
* Convenience functions to silence warnings from memcpy/memmove's
|
||||||
|
@ -2171,3 +2171,9 @@ zfs_btree_verify(zfs_btree_t *tree)
|
||||||
return;
|
return;
|
||||||
zfs_btree_verify_poison(tree);
|
zfs_btree_verify_poison(tree);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* BEGIN CSTYLED */
|
||||||
|
ZFS_MODULE_PARAM(zfs, zfs_, btree_verify_intensity, UINT, ZMOD_RW,
|
||||||
|
"Enable btree verification. Levels above 4 require ZFS be built "
|
||||||
|
"with debugging");
|
||||||
|
/* END CSTYLED */
|
||||||
|
|
Loading…
Reference in New Issue