btrfs-progs: mkfs-tests: ensure regular builds won't enable rst feature
This test case will check the following behviour: - Regular zoned supported data/metadata profiles Should success - RST with zoned feature Should fail for non-experimental builds - zoned with data profiles that only RST supports Should fail for non-experimental builds. Meanwhile for experimental builds it should success and enable RST feature automatically (verified in mkfs/030) Pull-request: #813 Signed-off-by: Qu Wenruo <wqu@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
e0bf3943a4
commit
99de2438ab
|
@ -399,6 +399,13 @@ check_experimental_build()
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
check_regular_build()
|
||||||
|
{
|
||||||
|
if _test_config "EXPERIMENTAL"; then
|
||||||
|
_not_run "This test requires non-experimental build"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
check_prereq()
|
check_prereq()
|
||||||
{
|
{
|
||||||
# Internal tools for testing, not shipped with the package
|
# Internal tools for testing, not shipped with the package
|
||||||
|
|
|
@ -0,0 +1,34 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# Verify mkfs for all currently supported profiles of zoned + raid-stripe-tree
|
||||||
|
|
||||||
|
source "$TEST_TOP/common" || exit
|
||||||
|
|
||||||
|
check_regular_build
|
||||||
|
setup_root_helper
|
||||||
|
setup_nullbdevs 4 128 4
|
||||||
|
prepare_nullbdevs
|
||||||
|
TEST_DEV=${nullb_devs[1]}
|
||||||
|
|
||||||
|
profiles="dup raid1 raid1c3 raid1c4 raid10"
|
||||||
|
|
||||||
|
# The existing supported profiles.
|
||||||
|
run_check $SUDO_HELPER "$TOP/mkfs.btrfs" -f -O zoned -d single -m single "${nullb_devs[@]}"
|
||||||
|
run_check $SUDO_HELPER "$TOP/mkfs.btrfs" -f -O zoned -d single -m DUP "${nullb_devs[@]}"
|
||||||
|
|
||||||
|
# RST feature is rejected
|
||||||
|
run_mustfail "RST feature created" \
|
||||||
|
$SUDO_HELPER "$TOP/mkfs.btrfs" -f -O zoned,raid-stripe-tree -d single -m DUP "${nullb_devs[@]}"
|
||||||
|
|
||||||
|
for dprofile in $profiles; do
|
||||||
|
# Make sure additional data profiles won't enable RST for non-experimental build
|
||||||
|
run_mustfail "unsupported profile created" \
|
||||||
|
$SUDO_HELPER "$TOP/mkfs.btrfs" -f -O zoned -d "$dprofile" -m DUP "${nullb_devs[@]}"
|
||||||
|
done
|
||||||
|
|
||||||
|
# The old unsupported profiles should fail no matter if experimental build is enabled or not.
|
||||||
|
run_mustfail "unsupported profile raid56 created" \
|
||||||
|
$SUDO_HELPER "$TOP/mkfs.btrfs" -f -O zoned -d raid5 -m raid5 "${nullb_devs[@]}"
|
||||||
|
run_mustfail "unsupported profile raid56 created" \
|
||||||
|
$SUDO_HELPER "$TOP/mkfs.btrfs" -f -O zoned -d raid6 -m raid6 "${nullb_devs[@]}"
|
||||||
|
|
||||||
|
cleanup_nullbdevs
|
Loading…
Reference in New Issue