btrfs-progs/tests/convert-tests/020-refuse-needs-recovery/test.sh
David Sterba 5d80df6065 btrfs-progs: tests: add crafted image to test needs_recovery
Image of ext4 with needs_recovery incompat bit set. This bit cannot be
set by regular tune2fs so was created on an empty 4M image by patched
tune2fs that set the bit unconditionally (the image still passed e2fsck,
with journal recovery).

Issue: #348
Signed-off-by: David Sterba <dsterba@suse.com>
2021-03-23 17:04:21 +01:00

28 lines
625 B
Bash
Executable File

#!/bin/bash
# Crafted image with needs_recovery incompat bit feature set, convert must
# refuse to convert such image
source "$TEST_TOP/common"
check_prereq btrfs-convert
check_prereq btrfs
setup_root_helper
prepare_test_dev
# Override common function
check_image() {
local features
TEST_DEV="$1"
features=$(run_check_stdout dumpe2fs "$TEST_DEV" | grep 'Filesystem features')
if ! echo "$features" | grep -q 'needs_recovery'; then
_fail "image does not have the needs_recovery bit set"
fi
run_mustfail "convert worked on unclean image" \
"$TOP/btrfs-convert" "$TEST_DEV"
rm -f "$TEST_DEV"
}
check_all_images