From fbb11701111693e105718b5c4390e659c15e8f4a Mon Sep 17 00:00:00 2001 From: Qu Wenruo Date: Sun, 13 Nov 2022 14:32:39 +0800 Subject: [PATCH] btrfs-progs: tests: add test case for degraded raid5 The new test case will make sure btrfs check is fine checking a degraded raid5 filesystem. Signed-off-by: Qu Wenruo Signed-off-by: David Sterba --- tests/fsck-tests/060-degraded-check/test.sh | 36 +++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100755 tests/fsck-tests/060-degraded-check/test.sh diff --git a/tests/fsck-tests/060-degraded-check/test.sh b/tests/fsck-tests/060-degraded-check/test.sh new file mode 100755 index 00000000..6a1f50c8 --- /dev/null +++ b/tests/fsck-tests/060-degraded-check/test.sh @@ -0,0 +1,36 @@ +#!/bin/bash +# +# Make sure "btrfs check" can handle degraded raid5. +# + +source "$TEST_TOP/common" + +check_prereq btrfs +check_prereq mkfs.btrfs +check_global_prereq losetup +check_global_prereq wipefs + +setup_loopdevs 3 +prepare_loopdevs +dev1=${loopdevs[1]} +dev2=${loopdevs[2]} +dev3=${loopdevs[3]} + +setup_root_helper + +# Run 1: victim is dev1 +run_check $SUDO_HELPER "$TOP/mkfs.btrfs" -f -m raid5 -d raid5 "${loopdevs[@]}" +run_check $SUDO_HELPER wipefs -fa $dev1 +run_check $SUDO_HELPER "$TOP/btrfs" check $dev2 + +# Run 2: victim is dev2 +run_check $SUDO_HELPER "$TOP/mkfs.btrfs" -f -m raid5 -d raid5 "${loopdevs[@]}" +run_check $SUDO_HELPER wipefs -fa $dev2 +run_check $SUDO_HELPER "$TOP/btrfs" check $dev3 + +# Run 3: victim is dev3 +run_check $SUDO_HELPER "$TOP/mkfs.btrfs" -f -m raid5 -d raid5 "${loopdevs[@]}" +run_check $SUDO_HELPER wipefs -fa $dev3 +run_check $SUDO_HELPER "$TOP/btrfs" check $dev1 + +cleanup_loopdevs