summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorQu Wenruo <quwenruo@cn.fujitsu.com>2016-08-19 16:13:06 +0800
committerDavid Sterba <dsterba@suse.com>2016-08-19 13:53:28 +0200
commit4f3ccdd518cbea2a34f5a62099bb1ca2881fae9c (patch)
tree826f40fdc7922619f2c1ad9af7dbb01511a1c797 /tests
parentbdadea75e47f21682b745678c9b685e491c5e8a3 (diff)
btrfs-progs: convert-test: Check if the ext2_save/image is read only
Old convert codes uses both 0400 permission and INODE_READONLY flag to make the converted ext2 image readonly. While new convert treat the inode just as normal inode, with no special inode flag and uses 0600 permission. This makes user able to modify converted image unintentionally and make rollback fails. This test case will test the regression. Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'tests')
-rwxr-xr-xtests/convert-tests/008-readonly-image/test.sh26
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/convert-tests/008-readonly-image/test.sh b/tests/convert-tests/008-readonly-image/test.sh
new file mode 100755
index 00000000..4e422378
--- /dev/null
+++ b/tests/convert-tests/008-readonly-image/test.sh
@@ -0,0 +1,26 @@
+#!/bin/bash
+# Check if the converted ext2 image is readonly
+
+source $TOP/tests/common
+source $TOP/tests/common.convert
+
+setup_root_helper
+prepare_test_dev 512M
+check_prereq btrfs-convert
+
+default_mke2fs="mke2fs -t ext4 -b 4096"
+convert_test_preamble '' 'readonly image test' 16k "$default_mke2fs"
+convert_test_prep_fs $default_mke2fs
+run_check_umount_test_dev
+convert_test_do_convert
+run_check_mount_test_dev
+
+# It's expected to fail
+$SUDO_HELPER dd if=/dev/zero of=$TEST_MNT/ext2_save/image bs=1M count=1 \
+ &> /dev/null
+if [ $? -ne 1 ]; then
+ echo "after convert ext2_save/image is not read-only"
+ exit 1
+fi
+run_check_umount_test_dev
+convert_test_post_rollback