summaryrefslogtreecommitdiffstats
path: root/fs/btrfs/Kconfig
diff options
context:
space:
mode:
authorJosef Bacik <josef@toxicpanda.com>2017-09-29 21:43:50 +0200
committerDavid Sterba <dsterba@suse.com>2017-10-30 12:28:00 +0100
commitfd708b81d972a0714b02a60eb4792fdbf15868c4 (patch)
tree218197c736b2e9755f3f31796f46102a56400082 /fs/btrfs/Kconfig
parentbtrfs: pass root to various extent ref mod functions (diff)
downloadlinux-fd708b81d972a0714b02a60eb4792fdbf15868c4.tar.xz
linux-fd708b81d972a0714b02a60eb4792fdbf15868c4.zip
Btrfs: add a extent ref verify tool
We were having corruption issues that were tied back to problems with the extent tree. In order to track them down I built this tool to try and find the culprit, which was pretty successful. If you compile with this tool on it will live verify every ref update that the fs makes and make sure it is consistent and valid. I've run this through with xfstests and haven't gotten any false positives. Thanks, Signed-off-by: Josef Bacik <jbacik@fb.com> Reviewed-by: David Sterba <dsterba@suse.com> [ update error messages, add fixup from Dan Carpenter to handle errors of read_tree_block ] Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/Kconfig')
-rw-r--r--fs/btrfs/Kconfig11
1 files changed, 11 insertions, 0 deletions
diff --git a/fs/btrfs/Kconfig b/fs/btrfs/Kconfig
index a26c63b4ad68..2e558227931a 100644
--- a/fs/btrfs/Kconfig
+++ b/fs/btrfs/Kconfig
@@ -91,3 +91,14 @@ config BTRFS_ASSERT
any of the assertions trip. This is meant for btrfs developers only.
If unsure, say N.
+
+config BTRFS_FS_REF_VERIFY
+ bool "Btrfs with the ref verify tool compiled in"
+ depends on BTRFS_FS
+ default n
+ help
+ Enable run-time extent reference verification instrumentation. This
+ is meant to be used by btrfs developers for tracking down extent
+ reference problems or verifying they didn't break something.
+
+ If unsure, say N.