btrfs-progs: tests: use separate helper for mounting convert filesystems

We'll enforce the btrfs type for mount everwhere so we must provide a
way to mount converted filesystems. Add a new helper that will try to
mount the given type.

Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
David Sterba 2017-07-20 18:44:49 +02:00
parent 46809a7287
commit 18b519e694
2 changed files with 36 additions and 3 deletions

View File

@ -1,6 +1,39 @@
#!/bin/bash
# helpers for btrfs-convert tests
# mount image of converted filesystem of a given type
# $1: type of the filesystem
run_check_mount_convert_dev()
{
local fstype
local loop_opt
setup_root_helper
fstype="$1"
shift
if [ -z "$fstype" ]; then
_fail "Missing source filesystem type"
fi
if [ "$fstype" = 'btrfs' ]; then
_fail "Incorrect type for converted filesystem: btrfs"
fi
if [[ -b "$TEST_DEV" ]]; then
loop_opt=""
elif [[ -f "$TEST_DEV" ]]; then
loop_opt="-o loop"
else
_fail "Invalid \$TEST_DEV: $TEST_DEV"
fi
[[ -d "$TEST_MNT" ]] || {
_fail "Invalid \$TEST_MNT: $TEST_MNT"
}
run_check $SUDO_HELPER mount $loop_opt -t "$fstype" "$@" "$TEST_DEV" "$TEST_MNT"
}
populate_fs() {
for dataset_type in 'small' 'hardlink' 'fast_symlink' 'brokenlink' 'perm' 'sparse' 'acls' 'fifo' 'slow_symlink'; do
@ -37,7 +70,7 @@ convert_test_prep_fs() {
run_check "$@" -F "$TEST_DEV"
# create a file to check btrfs-convert can convert regular file correct
run_check_mount_test_dev
run_check_mount_convert_dev "$fstype"
# create a file inside the fs before convert, to make sure there is
# data covering btrfs backup superblock range (64M)

View File

@ -47,12 +47,12 @@ do_test() {
run_check_umount_test_dev
convert_test_post_rollback
run_check_mount_test_dev
run_check_mount_convert_dev ext4
convert_test_post_check_checksums "$CHECKSUMTMP"
run_check_umount_test_dev
# mount again and verify checksums
run_check_mount_test_dev
run_check_mount_convert_dev ext4
convert_test_post_check_checksums "$CHECKSUMTMP"
run_check_umount_test_dev