All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Theodore Ts'o" <tytso@mit.edu>
To: fstests@vger.kernel.org
Cc: "Theodore Ts'o" <tytso@mit.edu>, Zorro Lang <zlang@redhat.com>
Subject: [PATCH -v4 7/7] ext4: create file systems with the encrypt feature as necessary
Date: Thu, 30 Jun 2022 10:46:37 -0400	[thread overview]
Message-ID: <20220630144637.478568-8-tytso@mit.edu> (raw)
In-Reply-To: <20220630144637.478568-1-tytso@mit.edu>

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 <tytso@mit.edu>
Reviewed-by: Zorro Lang <zlang@redhat.com>
---
 tests/ext4/003    | 6 +++++-
 tests/ext4/035    | 6 +++++-
 tests/ext4/306    | 5 ++++-
 tests/generic/260 | 3 +++
 4 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/tests/ext4/003 b/tests/ext4/003
index 773bcb03..8ac467b8 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 1f26e766..a8278b0e 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 2ff88537..db256284 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 b4d72e0f..2f653b4a 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
-- 
2.31.0


      parent reply	other threads:[~2022-06-30 14:46 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-30 14:46 [PATCH -v4 0/7] Miscellaneous ext4 test fix ups Theodore Ts'o
2022-06-30 14:46 ` [PATCH -v4 1/7] ext4/050: support indirect as well as extent mapped journals Theodore Ts'o
2022-06-30 14:46 ` [PATCH -v4 2/7] ext4/044: skip test if the file system does not have a journal Theodore Ts'o
2022-06-30 14:46 ` [PATCH -v4 3/7] ext4/045: _require_dumpe2fs doesn't take any arguments so remove them Theodore Ts'o
2022-06-30 14:46 ` [PATCH -v4 4/7] ext4/054: skip test if the dax mount option is enabled Theodore Ts'o
2022-06-30 14:46 ` [PATCH -v4 5/7] ext4/055: skip test if dax mount option is used Theodore Ts'o
2022-06-30 14:46 ` [PATCH -v4 6/7] ext4/035: skip this test if the scratch device does not support 1k block sizes Theodore Ts'o
2022-06-30 14:46 ` Theodore Ts'o [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220630144637.478568-8-tytso@mit.edu \
    --to=tytso@mit.edu \
    --cc=fstests@vger.kernel.org \
    --cc=zlang@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.