Skip to content
Permalink
Browse files

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>
  • Loading branch information
kdave committed Jul 20, 2017
1 parent 46809a7 commit 18b519e694a6ef559d85072f86898ab5a61f6a05
Showing with 36 additions and 3 deletions.
  1. +34 −1 tests/common.convert
  2. +2 −2 tests/convert-tests/005-delete-all-rollback/test.sh
@@ -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)
@@ -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

0 comments on commit 18b519e

Please sign in to comment.
You can’t perform that action at this time.