diff options
author | Qu Wenruo <wqu@suse.com> | 2018-04-30 14:17:00 +0800 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2018-06-07 16:37:33 +0200 |
commit | 7e0ae73fb4dcbb8b3b76a47e708661ef9c4aea73 (patch) | |
tree | 9f33c599d55b8accd1200cc3bd9ea0faef96fbe1 /tests | |
parent | 4bd7bbb6f6859583da1a81406cb3c02d613c9b2c (diff) |
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>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/fsck-tests/032-corrupted-qgroup/qgroup_corrupted.img | bin | 0 -> 3072 bytes | |||
-rwxr-xr-x | tests/fsck-tests/032-corrupted-qgroup/test.sh | 19 |
2 files changed, 19 insertions, 0 deletions
diff --git a/tests/fsck-tests/032-corrupted-qgroup/qgroup_corrupted.img b/tests/fsck-tests/032-corrupted-qgroup/qgroup_corrupted.img Binary files differnew file mode 100644 index 00000000..a19a3035 --- /dev/null +++ b/tests/fsck-tests/032-corrupted-qgroup/qgroup_corrupted.img diff --git a/tests/fsck-tests/032-corrupted-qgroup/test.sh b/tests/fsck-tests/032-corrupted-qgroup/test.sh new file mode 100755 index 00000000..4bfa3601 --- /dev/null +++ b/tests/fsck-tests/032-corrupted-qgroup/test.sh @@ -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 |