There is a false alerts of tree-checker when running fstests/btrfs/063 in a loop.
The bug is caused by commit 59b0d030fb30 ("btrfs: tree-checker: Try to detect missing INODE_ITEM"). For the full error analyse, please check the first patch. The first patch will give it a quick fix, so that it can be addressed in v5.4 release cycle. The 2nd patch is a more proper patch, with refactor to reduce duplicated code and add the check to INODE_REF item. But it's pretty large (+72, -41), not sure if it's suitbale for late -rc. Also current write-time tree checker error message is too silent, can't be caught by fstests nor a quick glance of dmesg. And it doesn't contain enough info to debug. So to enhance the error message, and make it more noisy, the 3rd patch will enhance the error message. Qu Wenruo (3): btrfs: tree-checker: Fix false alerts on log trees btrfs: tree-checker: Refactor prev_key check for ino into a function btrfs: Enhance the error outputting for write time tree checker fs/btrfs/disk-io.c | 2 + fs/btrfs/tree-checker.c | 111 ++++++++++++++++++++++++++-------------- 2 files changed, 74 insertions(+), 39 deletions(-) -- 2.23.0