mirror of
https://github.com/kdave/btrfs-progs
synced 2025-02-27 15:30:44 +00:00
The raid-stripe-tree can be enabled for convert, though it's still considered incomplete and slightly experimental. Due to that the tests need to be adjusted to check for support and skip mount eventually. Possible remaining options to add: quota, squota Issue: #694 Signed-off-by: David Sterba <dsterba@suse.com>
78 lines
2.0 KiB
Bash
Executable File
78 lines
2.0 KiB
Bash
Executable File
#!/bin/bash
|
|
# create a base image, convert to btrfs, remove all files, rollback the reiserfs image
|
|
|
|
source "$TEST_TOP/common" || exit
|
|
source "$TEST_TOP/common.convert" || exit
|
|
|
|
if ! check_kernel_support_reiserfs >/dev/null; then
|
|
_not_run "no reiserfs support"
|
|
fi
|
|
|
|
check_prereq btrfs-convert
|
|
check_global_prereq mkreiserfs
|
|
|
|
setup_root_helper
|
|
prepare_test_dev
|
|
|
|
# simple wrapper for a convert test
|
|
# $1: btrfs features, argument to -O
|
|
# $2: message
|
|
# $3: nodesize value
|
|
# $4 + rest: command to create the reiserfs image
|
|
do_test() {
|
|
local features
|
|
local msg
|
|
local nodesize
|
|
local CHECKSUMTMP
|
|
local here
|
|
|
|
features="$1"
|
|
msg="$2"
|
|
nodesize="$3"
|
|
shift 3
|
|
convert_test_preamble "$features" "$msg" "$nodesize" "$@"
|
|
convert_test_prep_fs reiserfs "$@"
|
|
populate_fs
|
|
CHECKSUMTMP=$(_mktemp convert)
|
|
convert_test_gen_checksums "$CHECKSUMTMP"
|
|
|
|
run_check_umount_test_dev
|
|
|
|
convert_test_do_convert "$features" "$nodesize"
|
|
|
|
if ! convert_can_mount "$features"; then
|
|
return 0
|
|
fi
|
|
|
|
run_check_mount_test_dev
|
|
convert_test_post_check_checksums "$CHECKSUMTMP"
|
|
|
|
here=$(pwd)
|
|
cd "$TEST_MNT" || _fail "cannot cd to TEST_MNT"
|
|
# reiserfs_saved/image must not be deleted
|
|
run_mayfail $SUDO_HELPER find "$TEST_MNT"/ -mindepth 1 -path '*reiserfs_saved' -prune -o -exec rm -vrf "{}" \;
|
|
cd "$here"
|
|
run_check "$TOP/btrfs" filesystem sync "$TEST_MNT"
|
|
run_check_umount_test_dev
|
|
convert_test_post_rollback reiserfs
|
|
|
|
run_check_mount_convert_dev reiserfs
|
|
convert_test_post_check_checksums "$CHECKSUMTMP"
|
|
run_check_umount_test_dev
|
|
|
|
# mount again and verify checksums
|
|
run_check_mount_convert_dev reiserfs
|
|
convert_test_post_check_checksums "$CHECKSUMTMP"
|
|
run_check_umount_test_dev
|
|
|
|
rm "$CHECKSUMTMP"
|
|
}
|
|
|
|
# Iterate over defaults and options that are not tied to hardware capabilities
|
|
# or number of devices
|
|
for feature in '' 'block-group-tree' 'raid-stripe-tree'; do
|
|
do_test "$feature" "reiserfs 4k nodesize" 4096 mkreiserfs -b 4096
|
|
do_test "$feature" "reiserfs 16k nodesize" 16384 mkreiserfs -b 4096
|
|
do_test "$feature" "reiserfs 64k nodesize" 65536 mkreiserfs -b 4096
|
|
done
|