btrfs-progs: tests: Add test case to ensure btrfs check returns error for corrupted qgroups

Since the test case uses run_mustfail(), which is pretty easy pass due to
other unexpected problems, so here an extra run_check() is added to
ensure we don't only report qgroup error, but also fix it without
problem.

Signed-off-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
Qu Wenruo 2018-04-30 14:17:00 +08:00 committed by David Sterba
parent 4bd7bbb6f6
commit 7e0ae73fb4
2 changed files with 19 additions and 0 deletions

View File

@ -0,0 +1,19 @@
#!/bin/bash
# Check if btrfs check can handle valid orphan items.
# Orphan item is a marker for deleted inodes that were open at the time of
# deletion. Orphan inode/root is not referenced and will have an orphan
# item, which should not be reported as error.
source "$TEST_TOP/common"
check_prereq btrfs
check_image() {
run_mustfail "btrfs check failed to detect qgroup corruption" \
"$TOP/btrfs" check "$1"
# Above command can fail due to other bugs, so add extra check to
# ensure we can fix qgroup without problems.
run_check "$TOP/btrfs" check --repair "$1"
}
check_all_images