btrfs-progs/tests/convert-tests/015-no-rollback-after-balance/test.sh
Gu Jinxiang cebf3b3722 btrfs-progs: introduce TEST_TOP and INTERNAL_BIN for tests
Use TEST_TOP as base for tests to reference any files, this will be used
for git and external testsuite.

INTERNAL_BIN is needed for referencing binaries that could reside in
different paths in git vs external testsuite.

Signed-off-by: Gu Jinxiang <gujx@cn.fujitsu.com>
[ add quotes around sourced files, update changelog ]
Signed-off-by: David Sterba <dsterba@suse.com>
2018-02-13 15:41:32 +01:00

34 lines
1.0 KiB
Bash
Executable File

#!/bin/bash
# Check if btrfs-convert refuses to rollback the filesystem, and leave the fs
# and the convert image untouched
source "$TEST_TOP/common"
source "$TEST_TOP/common.convert"
setup_root_helper
prepare_test_dev
check_prereq btrfs-convert
check_global_prereq mke2fs
# convert_test_prep_fs() will create large enough file inside the test device,
# that's good enough for us to test rollback failure.
convert_test_prep_fs ext4 mke2fs -t ext4 -b 4096
run_check_umount_test_dev
convert_test_do_convert "" 4096
run_check_mount_test_dev
# Now the fs is converted, balance it so later rollback should fail
run_check $SUDO_HELPER "$TOP/btrfs" balance start --full-balance "$TEST_MNT"
run_check_umount_test_dev
# rollback should fail
run_mustfail "rollback fs after balance" "$TOP/btrfs-convert" -r "$TEST_DEV"
# Ensure the fs and convert image can pass the check
run_check "$TOP/btrfs" check "$TEST_DEV"
run_check_mount_test_dev
run_check $SUDO_HELPER e2fsck -fn "$TEST_MNT/ext2_saved/image"
run_check_umount_test_dev