From: Theodore Ts'o Date: Thu, 30 Jun 2022 14:46:37 +0000 (-0400) Subject: ext4: create file systems with the encrypt feature as necessary X-Git-Tag: v2022.07.03~6 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=9d14711da549815103dfa9f44f0fb24fe0c71c6c;p=users%2Fhch%2Fxfstests-dev.git ext4: create file systems with the encrypt feature as necessary The linux kernel commit 5f41fdaea63d ("ext4: only allow test_dummy_encryption when supported") the kernel will reject mounts with the test_dummy_encryption option if the ext4 file system does not have the encrypt feature enabled. There are a handful of tests (ext4/003, ext4/035, ext4/306, and generic/260) which will format the scratch file system using a hard-coded set of mkfs.ext4 parameters ignoring the MKFS_OPTION that is set by the file system test config. For file system configs which includes test_dummy_encryption in MOUNT_OPTIONS and "-O encrypt" in MKFS_OPTIONS, we need to test for test_dummy_encryption and force the hard-coded mkfs options to enable the encrypt feature. Signed-off-by: Theodore Ts'o Reviewed-by: Zorro Lang Signed-off-by: Zorro Lang --- diff --git a/tests/ext4/003 b/tests/ext4/003 index 773bcb03e..8ac467b89 100755 --- a/tests/ext4/003 +++ b/tests/ext4/003 @@ -27,7 +27,11 @@ _require_scratch _require_scratch_ext4_feature "bigalloc" BLOCK_SIZE=$(get_page_size) -$MKFS_EXT4_PROG -F -b $BLOCK_SIZE -O bigalloc -C $(($BLOCK_SIZE * 16)) -g 256 $SCRATCH_DEV 512m \ +features=bigalloc +if echo "${MOUNT_OPTIONS}" | grep -q 'test_dummy_encryption' ; then + features+=",encrypt" +fi +$MKFS_EXT4_PROG -F -b $BLOCK_SIZE -O $features -C $(($BLOCK_SIZE * 16)) -g 256 $SCRATCH_DEV 512m \ >> $seqres.full 2>&1 _scratch_mount diff --git a/tests/ext4/035 b/tests/ext4/035 index 1f26e7666..a8278b0ee 100755 --- a/tests/ext4/035 +++ b/tests/ext4/035 @@ -25,7 +25,11 @@ _require_scratch _exclude_scratch_mount_option dax _require_command "$RESIZE2FS_PROG" resize2fs -$MKFS_EXT4_PROG -F -b 1024 -E "resize=262144" $SCRATCH_DEV 32768 >> $seqres.full 2>&1 +encrypt= +if echo "${MOUNT_OPTIONS}" | grep -q 'test_dummy_encryption' ; then + encrypt="-O encrypt" +fi +$MKFS_EXT4_PROG -F -b 1024 -E "resize=262144" $encrypt $SCRATCH_DEV 32768 >> $seqres.full 2>&1 if [ $? -ne 0 ]; then _notrun "Can't make file system with a block size of 1024" fi diff --git a/tests/ext4/306 b/tests/ext4/306 index 2ff88537e..db2562848 100755 --- a/tests/ext4/306 +++ b/tests/ext4/306 @@ -31,7 +31,10 @@ _require_command "$RESIZE2FS_PROG" resize2fs # Make a small ext4 fs with extents disabled & mount it features="^extents" if grep -q 64bit /etc/mke2fs.conf ; then - features="^extents,^64bit" + features+=",^64bit" +fi +if echo "${MOUNT_OPTIONS}" | grep -q 'test_dummy_encryption' ; then + features+=",encrypt" fi blksz=$(get_page_size) diff --git a/tests/generic/260 b/tests/generic/260 index b4d72e0ff..2f653b4af 100755 --- a/tests/generic/260 +++ b/tests/generic/260 @@ -121,6 +121,9 @@ case $FSTYP in start=$(_math "$base*$agsize*$bsize") len=$start export MKFS_OPTIONS="-F -b $bsize -g $agsize" + if echo "${MOUNT_OPTIONS}" | grep -q 'test_dummy_encryption' ; then + MKFS_OPTIONS+=" -O encrypt" + fi ;; xfs) agsize=65538