btrfs: Enhance error output for write time tree checker
authorQu Wenruo <wqu@suse.com>
Fri, 4 Oct 2019 09:31:33 +0000 (17:31 +0800)
committerDavid Sterba <dsterba@suse.com>
Mon, 18 Nov 2019 11:46:54 +0000 (12:46 +0100)
commitc06631b0d8a4236fb45667de60880b037863de56
tree8c181235083ea21402ba2bf9ff9e9ae3220aaebb
parent80d7fd1e09822daf8d94d46c6f9a17e7e34cf0b4
btrfs: Enhance error output for write time tree checker

Unlike read time tree checker errors, write time error can't be
inspected by "btrfs inspect dump-tree", so we need extra information to
determine what's going wrong.

The patch will add the following output for write time tree checker
error:

- The content of the offending tree block
  To help determining if it's a false alert.

- Kernel WARN_ON() for debug build
  This is helpful for us to detect unexpected write time tree checker
  error, especially fstests could catch the dmesg.
  Since the WARN_ON() is only triggered for write time tree checker,
  test cases utilizing dm-error won't trigger this WARN_ON(), thus no
  extra noise.

Signed-off-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/disk-io.c