btrfs-progs: tests: Allow check test to repair in lowmem mode for certain errors
Since lowmem mode can repair certain corruptions (mostly in fs tree), insert a beacon into each fsck test cases to allow some of them be tested in lowmem mode. With this patch, fsck option override will check the beacon file ".lowmem_repairable" in the same directory of the test image, and if the beacon exists, then it will also run lowmem mode repair to repair the image. Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
63edc91441
commit
eca65a8977
7 changed files with 14 additions and 1 deletions
|
@ -14,11 +14,24 @@ fi
|
|||
# gets arguments of a current command and can decide if the argument insertion
|
||||
# should happen, eg. if some option combination does not make sense or would
|
||||
# break tests
|
||||
#
|
||||
# Return 0 if we need to skip option override
|
||||
# Return 1 if we don't need to skip option override
|
||||
_skip_spec()
|
||||
{
|
||||
local beacon
|
||||
|
||||
beacon=.lowmem_repairable
|
||||
|
||||
# For lowmem repair, only support fs tree repair for now
|
||||
# So we place lowmem repair beacon in the same dir of the test case
|
||||
if echo "$TEST_ARGS_CHECK" | grep -q 'mode=lowmem' &&
|
||||
echo "$@" | grep -q -- '--repair'; then
|
||||
return 0
|
||||
dir="$(dirname ${@: -1})"
|
||||
if [ -f ${dir}/${beacon} ]; then
|
||||
return 1;
|
||||
fi
|
||||
return 0;
|
||||
fi
|
||||
return 1
|
||||
}
|
||||
|
|
0
tests/fsck-tests/004-no-dir-index/.lowmem_repairable
Normal file
0
tests/fsck-tests/004-no-dir-index/.lowmem_repairable
Normal file
0
tests/fsck-tests/011-no-inode-item/.lowmem_repairable
Normal file
0
tests/fsck-tests/011-no-inode-item/.lowmem_repairable
Normal file
Loading…
Reference in a new issue