All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH -v3 0/7] Miscellaneous ext4 test fix ups
@ 2022-06-29 12:45 Theodore Ts'o
  2022-06-29 12:45 ` [PATCH -v3 1/7] ext4/050: support indirect as well as extent mapped journals Theodore Ts'o
                   ` (6 more replies)
  0 siblings, 7 replies; 17+ messages in thread
From: Theodore Ts'o @ 2022-06-29 12:45 UTC (permalink / raw)
  To: fstests; +Cc: Theodore Ts'o

Pull in an out-of-tree patch, "ext4/035: skip this test if the scratch
device does not support 1k block sizes" which is needed for the last
patch for this series. "ext4: create file systems with the encrypt
feature as necessary".

Previous versions of these patch series:

https://lore.kernel.org/r/20220625030718.1215980-1-tytso@mit.edu
https://lore.kernel.org/r/20220628182545.1834145-1-tytso@mit.edu

Theodore Ts'o (7):
  ext4/050: support indirect as well as extent mapped journals
  ext4/044: skip test if the file system does not have a journal
  ext4/045: _require_dumpe2fs doesn't take any arguments so remove them
  ext4/054: skip test if the dax mount option is enabled
  ext4/055: skip test if dax mount option is used
  ext4/035: skip this test if the scratch device does not support 1k
    block sizes
  ext4: create file systems with the encrypt feature as necessary

 common/rc         |  3 +++
 tests/ext4/003    |  6 ++++-
 tests/ext4/035    |  8 ++++++-
 tests/ext4/044    |  1 +
 tests/ext4/045    |  2 +-
 tests/ext4/050    | 58 ++++-------------------------------------------
 tests/ext4/054    |  5 ++--
 tests/ext4/055    |  1 +
 tests/ext4/306    |  3 +++
 tests/generic/260 |  5 +++-
 10 files changed, 32 insertions(+), 60 deletions(-)

-- 
2.31.0


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH -v3 1/7] ext4/050: support indirect as well as extent mapped journals
  2022-06-29 12:45 [PATCH -v3 0/7] Miscellaneous ext4 test fix ups Theodore Ts'o
@ 2022-06-29 12:45 ` Theodore Ts'o
  2022-06-29 12:45 ` [PATCH -v3 2/7] ext4/044: skip test if the file system does not have a journal Theodore Ts'o
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 17+ messages in thread
From: Theodore Ts'o @ 2022-06-29 12:45 UTC (permalink / raw)
  To: fstests; +Cc: Theodore Ts'o, Zorro Lang

Simplify the test and fix ext4/050 failures when running ext4 without
extents enabled (e.g., in ext3 emulation mode).

Instead of relying on parsing debugfs output's (which varies depending
on whether the journal inode is extent mapped or indirect block
mapped), use debugfs's "cat" command to get the contents of the
journal.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Zorro Lang <zlang@redhat.com>
---
 tests/ext4/050 | 58 +++++---------------------------------------------
 1 file changed, 5 insertions(+), 53 deletions(-)

diff --git a/tests/ext4/050 b/tests/ext4/050
index 79961957..6f93b86d 100755
--- a/tests/ext4/050
+++ b/tests/ext4/050
@@ -22,55 +22,6 @@ _require_command "$DEBUGFS_PROG" debugfs
 checkpoint_journal=$here/src/checkpoint_journal
 _require_test_program "checkpoint_journal"
 
-# convert output from stat<journal_inode> to list of block numbers
-get_journal_extents() {
-	inode_info=$($DEBUGFS_PROG $SCRATCH_DEV -R "stat <8>" 2>> $seqres.full)
-	echo -e "\nJournal info:" >> $seqres.full
-	echo "$inode_info" >> $seqres.full
-
-	extents_line=$(echo "$inode_info" | awk '/EXTENTS:/{ print NR; exit }')
-	get_extents=$(echo "$inode_info" | sed -n "$(($extents_line + 1))"p)
-
-	# get just the physical block numbers
-	get_extents=$(echo "$get_extents" |  perl -pe 's|\(.*?\):||g' | sed -e 's/, /\n/g' | perl -pe 's|(\d+)-(\d+)|\1 \2|g')
-
-	echo "$get_extents"
-}
-
-# checks all extents are zero'd out except for the superblock
-# arg 1: extents (output of get_journal_extents())
-check_extents() {
-	echo -e "\nChecking extents:" >> $seqres.full
-	echo "$1" >> $seqres.full
-
-	super_block="true"
-	echo "$1" | while IFS= read line; do
-		start_block=$(echo $line | cut -f1 -d' ')
-		end_block=$(echo $line | cut -f2 -d' ' -s)
-
-		# if first block of journal, shouldn't be wiped
-		if [ "$super_block" == "true" ]; then
-			super_block="false"
-
-			#if super block only block in this extent, skip extent
-			if [ -z "$end_block" ]; then
-				continue;
-			fi
-			start_block=$(($start_block + 1))
-		fi
-
-		if [ ! -z "$end_block" ]; then
-			blocks=$(($end_block - $start_block + 1))
-		else
-			blocks=1
-		fi
-
-		check=$(od $SCRATCH_DEV --skip-bytes=$(($start_block * $blocksize)) --read-bytes=$(($blocks * $blocksize)) -An -v | sed -e 's/[0 \t\n\r]//g')
-
-		[ ! -z "$check" ] && echo "error" && break
-	done
-}
-
 testdir="${SCRATCH_MNT}/testdir"
 
 _scratch_mkfs_sized $((64 * 1024 * 1024)) >> $seqres.full 2>&1
@@ -93,11 +44,12 @@ sync --file-system $testdir/1
 # call ioctl to checkpoint and zero-fill journal blocks
 $checkpoint_journal $SCRATCH_MNT --erase=zeroout || _fail "ioctl returned error"
 
-extents=$(get_journal_extents)
-
 # check journal blocks zeroed out
-ret=$(check_extents "$extents")
-[ "$ret" = "error" ] && _fail "Journal was not zero-filled"
+$DEBUGFS_PROG $SCRATCH_DEV -R "cat <8>" 2> /dev/null | od >> $seqres.full
+check=$($DEBUGFS_PROG $SCRATCH_DEV -R "cat <8>" 2> /dev/null | \
+	    od --skip-bytes="$blocksize" -An -v | sed -e '/^[0 \t]*$/d')
+
+[ ! -z "$check" ] && _fail "Journal was not zeroed"
 
 _scratch_unmount >> $seqres.full 2>&1
 
-- 
2.31.0


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH -v3 2/7] ext4/044: skip test if the file system does not have a journal
  2022-06-29 12:45 [PATCH -v3 0/7] Miscellaneous ext4 test fix ups Theodore Ts'o
  2022-06-29 12:45 ` [PATCH -v3 1/7] ext4/050: support indirect as well as extent mapped journals Theodore Ts'o
@ 2022-06-29 12:45 ` Theodore Ts'o
  2022-06-29 13:11   ` Zorro Lang
  2022-06-29 12:45 ` [PATCH -v3 3/7] ext4/045: _require_dumpe2fs doesn't take any arguments so remove them Theodore Ts'o
                   ` (4 subsequent siblings)
  6 siblings, 1 reply; 17+ messages in thread
From: Theodore Ts'o @ 2022-06-29 12:45 UTC (permalink / raw)
  To: fstests; +Cc: Theodore Ts'o

This test mounts the file system using "mount -t ext3"; if the file
system config creates the file system without the jbd2 journal, the
"mount -t ext3" will fail.  So skip this test in that case.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
---
 tests/ext4/044 | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tests/ext4/044 b/tests/ext4/044
index 46e44053..158e2ac5 100755
--- a/tests/ext4/044
+++ b/tests/ext4/044
@@ -16,6 +16,7 @@ _begin_fstest auto quick
 _supported_fs ext4
 _require_scratch
 _require_test_program "t_get_file_time"
+_require_metadata_journaling
 
 echo "Silence is golden"
 
-- 
2.31.0


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH -v3 3/7] ext4/045: _require_dumpe2fs doesn't take any arguments so remove them
  2022-06-29 12:45 [PATCH -v3 0/7] Miscellaneous ext4 test fix ups Theodore Ts'o
  2022-06-29 12:45 ` [PATCH -v3 1/7] ext4/050: support indirect as well as extent mapped journals Theodore Ts'o
  2022-06-29 12:45 ` [PATCH -v3 2/7] ext4/044: skip test if the file system does not have a journal Theodore Ts'o
@ 2022-06-29 12:45 ` Theodore Ts'o
  2022-06-29 13:12   ` Zorro Lang
  2022-06-29 12:45 ` [PATCH -v3 4/7] ext4/054: skip test if the dax mount option is enabled Theodore Ts'o
                   ` (3 subsequent siblings)
  6 siblings, 1 reply; 17+ messages in thread
From: Theodore Ts'o @ 2022-06-29 12:45 UTC (permalink / raw)
  To: fstests; +Cc: Theodore Ts'o

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
---
 tests/ext4/045 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/ext4/045 b/tests/ext4/045
index ee7c0de3..4f0ad4aa 100755
--- a/tests/ext4/045
+++ b/tests/ext4/045
@@ -22,7 +22,7 @@ _supported_fs ext4
 _require_scratch
 _require_test_program "t_create_short_dirs"
 _require_test_program "t_create_long_dirs"
-_require_dumpe2fs "$DUMPE2FS_PROG" dumpe2fs
+_require_dumpe2fs
 
 echo "Silence is golden"
 
-- 
2.31.0


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH -v3 4/7] ext4/054: skip test if the dax mount option is enabled
  2022-06-29 12:45 [PATCH -v3 0/7] Miscellaneous ext4 test fix ups Theodore Ts'o
                   ` (2 preceding siblings ...)
  2022-06-29 12:45 ` [PATCH -v3 3/7] ext4/045: _require_dumpe2fs doesn't take any arguments so remove them Theodore Ts'o
@ 2022-06-29 12:45 ` Theodore Ts'o
  2022-06-29 12:45 ` [PATCH -v3 5/7] ext4/055: skip test if dax mount option is used Theodore Ts'o
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 17+ messages in thread
From: Theodore Ts'o @ 2022-06-29 12:45 UTC (permalink / raw)
  To: fstests; +Cc: Theodore Ts'o, Zorro Lang

The ext4/054 test explicitly creates a file system with a 1k
blocksize.  This can't possibly work on if the dax mount option is
enabled, so change ext4/054 to use _scratch_mkfs_blocksized, and and a
check to _scratch_mkfs_blocksized to _notrun the test if the block
size is less than the page size.

Also remove an unnecessary _require_test declaration since this test
does not use the test device.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Zorro Lang <zlang@redhat.com>
---
 common/rc      | 3 +++
 tests/ext4/054 | 5 ++---
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/common/rc b/common/rc
index 9378ff26..3014f5fc 100644
--- a/common/rc
+++ b/common/rc
@@ -1220,6 +1220,9 @@ _scratch_mkfs_blocksized()
 	if ! [[ $blocksize =~ $re ]] ; then
 		_notrun "error: _scratch_mkfs_sized: block size \"$blocksize\" not an integer."
 	fi
+	if [ $blocksize -lt $(get_page_size) ]; then
+		_exclude_scratch_mount_option dax
+	fi
 
 	case $FSTYP in
 	btrfs)
diff --git a/tests/ext4/054 b/tests/ext4/054
index 9a11719f..e23acbb1 100755
--- a/tests/ext4/054
+++ b/tests/ext4/054
@@ -19,7 +19,6 @@ _begin_fstest auto quick dangerous_fuzzers
 
 # real QA test starts here
 _supported_fs ext4
-_require_test
 _require_scratch_nocheck
 _require_xfs_io_command "falloc"
 _require_xfs_io_command "pwrite"
@@ -28,8 +27,8 @@ _require_xfs_io_command "fpunch"
 _require_command "$DEBUGFS_PROG" debugfs
 
 # In order to accurately construct the damaged extent in the following
-# test steps, the blocksize is set to 1024 here
-_scratch_mkfs "-b 1024" > $seqres.full 2>&1
+# test steps, the block size is set to 1024 here
+_scratch_mkfs_blocksized 1024 >> $seqres.full 2>&1
 _scratch_mount
 
 TEST_FILE="${SCRATCH_MNT}/testfile"
-- 
2.31.0


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH -v3 5/7] ext4/055: skip test if dax mount option is used
  2022-06-29 12:45 [PATCH -v3 0/7] Miscellaneous ext4 test fix ups Theodore Ts'o
                   ` (3 preceding siblings ...)
  2022-06-29 12:45 ` [PATCH -v3 4/7] ext4/054: skip test if the dax mount option is enabled Theodore Ts'o
@ 2022-06-29 12:45 ` Theodore Ts'o
  2022-06-29 13:15   ` Zorro Lang
  2022-06-29 12:45 ` [PATCH -v3 6/7] ext4/035: skip this test if the scratch device does not support 1k block sizes Theodore Ts'o
  2022-06-29 12:45 ` [PATCH -v3 7/7] ext4: create file systems with the encrypt feature as necessary Theodore Ts'o
  6 siblings, 1 reply; 17+ messages in thread
From: Theodore Ts'o @ 2022-06-29 12:45 UTC (permalink / raw)
  To: fstests; +Cc: Theodore Ts'o

This test creates a 1k block file system with the quota feature
enabled.   As such, it is incompatible with DAX.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
---
 tests/ext4/055 | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tests/ext4/055 b/tests/ext4/055
index 8f466f1b..aa15cfe9 100755
--- a/tests/ext4/055
+++ b/tests/ext4/055
@@ -26,6 +26,7 @@ _require_command "$DEBUGFS_PROG" debugfs
 echo "Silence is golden"
 
 # The 1K blocksize is designed for debugfs.
+_exclude_scratch_mount_option dax
 _scratch_mkfs "-F -O quota -b 1024" > $seqres.full 2>&1
 
 # Start from 0, fill block 1 with 6,replace the original 2.
-- 
2.31.0


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH -v3 6/7] ext4/035: skip this test if the scratch device does not support 1k block sizes
  2022-06-29 12:45 [PATCH -v3 0/7] Miscellaneous ext4 test fix ups Theodore Ts'o
                   ` (4 preceding siblings ...)
  2022-06-29 12:45 ` [PATCH -v3 5/7] ext4/055: skip test if dax mount option is used Theodore Ts'o
@ 2022-06-29 12:45 ` Theodore Ts'o
  2022-06-29 13:14   ` Zorro Lang
  2022-06-29 12:45 ` [PATCH -v3 7/7] ext4: create file systems with the encrypt feature as necessary Theodore Ts'o
  6 siblings, 1 reply; 17+ messages in thread
From: Theodore Ts'o @ 2022-06-29 12:45 UTC (permalink / raw)
  To: fstests; +Cc: Theodore Ts'o

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
---
 tests/ext4/035 | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/tests/ext4/035 b/tests/ext4/035
index cad3595b..1f26e766 100755
--- a/tests/ext4/035
+++ b/tests/ext4/035
@@ -26,6 +26,9 @@ _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
+if [ $? -ne 0 ]; then
+    _notrun "Can't make file system with a block size of 1024"
+fi
 _scratch_mount
 
 echo "Resizing to 262145 blocks"
-- 
2.31.0


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH -v3 7/7] ext4: create file systems with the encrypt feature as necessary
  2022-06-29 12:45 [PATCH -v3 0/7] Miscellaneous ext4 test fix ups Theodore Ts'o
                   ` (5 preceding siblings ...)
  2022-06-29 12:45 ` [PATCH -v3 6/7] ext4/035: skip this test if the scratch device does not support 1k block sizes Theodore Ts'o
@ 2022-06-29 12:45 ` Theodore Ts'o
  2022-06-29 13:30   ` Zorro Lang
  6 siblings, 1 reply; 17+ messages in thread
From: Theodore Ts'o @ 2022-06-29 12:45 UTC (permalink / raw)
  To: fstests; +Cc: Theodore Ts'o

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>
---
 tests/ext4/003    | 6 +++++-
 tests/ext4/035    | 5 ++++-
 tests/ext4/306    | 3 +++
 tests/generic/260 | 5 ++++-
 4 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/tests/ext4/003 b/tests/ext4/003
index 773bcb03..6a4518e3 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=${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..a1ccce45 100755
--- a/tests/ext4/035
+++ b/tests/ext4/035
@@ -25,7 +25,10 @@ _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
+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..a6b7eab5 100755
--- a/tests/ext4/306
+++ b/tests/ext4/306
@@ -33,6 +33,9 @@ features="^extents"
 if grep -q 64bit /etc/mke2fs.conf ; then
     features="^extents,^64bit"
 fi
+if echo "${MOUNT_OPTIONS}" | grep -q 'test_dummy_encryption' ; then
+    features=${features},encrypt
+fi
 
 blksz=$(get_page_size)
 
diff --git a/tests/generic/260 b/tests/generic/260
index b4d72e0f..e86afe9c 100755
--- a/tests/generic/260
+++ b/tests/generic/260
@@ -120,7 +120,10 @@ case $FSTYP in
 		bsize=4096
 		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
+		    ENCRYPT="-O encrypt"
+		fi
+		export MKFS_OPTIONS="-F -b $bsize -g $agsize $ENCRYPT"
 		;;
 	xfs)
 		agsize=65538
-- 
2.31.0


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* Re: [PATCH -v3 2/7] ext4/044: skip test if the file system does not have a journal
  2022-06-29 12:45 ` [PATCH -v3 2/7] ext4/044: skip test if the file system does not have a journal Theodore Ts'o
@ 2022-06-29 13:11   ` Zorro Lang
  0 siblings, 0 replies; 17+ messages in thread
From: Zorro Lang @ 2022-06-29 13:11 UTC (permalink / raw)
  To: Theodore Ts'o; +Cc: fstests

On Wed, Jun 29, 2022 at 08:45:35AM -0400, Theodore Ts'o wrote:
> This test mounts the file system using "mount -t ext3"; if the file
> system config creates the file system without the jbd2 journal, the
> "mount -t ext3" will fail.  So skip this test in that case.
> 
> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
> ---

Good to me,
Reviewed-by: Zorro Lang <zlang@redhat.com>

>  tests/ext4/044 | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/tests/ext4/044 b/tests/ext4/044
> index 46e44053..158e2ac5 100755
> --- a/tests/ext4/044
> +++ b/tests/ext4/044
> @@ -16,6 +16,7 @@ _begin_fstest auto quick
>  _supported_fs ext4
>  _require_scratch
>  _require_test_program "t_get_file_time"
> +_require_metadata_journaling
>  
>  echo "Silence is golden"
>  
> -- 
> 2.31.0
> 


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH -v3 3/7] ext4/045: _require_dumpe2fs doesn't take any arguments so remove them
  2022-06-29 12:45 ` [PATCH -v3 3/7] ext4/045: _require_dumpe2fs doesn't take any arguments so remove them Theodore Ts'o
@ 2022-06-29 13:12   ` Zorro Lang
  0 siblings, 0 replies; 17+ messages in thread
From: Zorro Lang @ 2022-06-29 13:12 UTC (permalink / raw)
  To: Theodore Ts'o; +Cc: fstests

On Wed, Jun 29, 2022 at 08:45:36AM -0400, Theodore Ts'o wrote:
> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
> ---

Reviewed-by: Zorro Lang <zlang@redhat.com>

>  tests/ext4/045 | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tests/ext4/045 b/tests/ext4/045
> index ee7c0de3..4f0ad4aa 100755
> --- a/tests/ext4/045
> +++ b/tests/ext4/045
> @@ -22,7 +22,7 @@ _supported_fs ext4
>  _require_scratch
>  _require_test_program "t_create_short_dirs"
>  _require_test_program "t_create_long_dirs"
> -_require_dumpe2fs "$DUMPE2FS_PROG" dumpe2fs
> +_require_dumpe2fs
>  
>  echo "Silence is golden"
>  
> -- 
> 2.31.0
> 


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH -v3 6/7] ext4/035: skip this test if the scratch device does not support 1k block sizes
  2022-06-29 12:45 ` [PATCH -v3 6/7] ext4/035: skip this test if the scratch device does not support 1k block sizes Theodore Ts'o
@ 2022-06-29 13:14   ` Zorro Lang
  0 siblings, 0 replies; 17+ messages in thread
From: Zorro Lang @ 2022-06-29 13:14 UTC (permalink / raw)
  To: Theodore Ts'o; +Cc: fstests

On Wed, Jun 29, 2022 at 08:45:39AM -0400, Theodore Ts'o wrote:
> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
> ---

Good to me,
Reviewed-by: Zorro Lang <zlang@redhat.com>

>  tests/ext4/035 | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/tests/ext4/035 b/tests/ext4/035
> index cad3595b..1f26e766 100755
> --- a/tests/ext4/035
> +++ b/tests/ext4/035
> @@ -26,6 +26,9 @@ _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
> +if [ $? -ne 0 ]; then
> +    _notrun "Can't make file system with a block size of 1024"
> +fi
>  _scratch_mount
>  
>  echo "Resizing to 262145 blocks"
> -- 
> 2.31.0
> 


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH -v3 5/7] ext4/055: skip test if dax mount option is used
  2022-06-29 12:45 ` [PATCH -v3 5/7] ext4/055: skip test if dax mount option is used Theodore Ts'o
@ 2022-06-29 13:15   ` Zorro Lang
  0 siblings, 0 replies; 17+ messages in thread
From: Zorro Lang @ 2022-06-29 13:15 UTC (permalink / raw)
  To: Theodore Ts'o; +Cc: fstests

On Wed, Jun 29, 2022 at 08:45:38AM -0400, Theodore Ts'o wrote:
> This test creates a 1k block file system with the quota feature
> enabled.   As such, it is incompatible with DAX.
> 
> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
> ---

Good to me,
Reviewed-by: Zorro Lang <zlang@redhat.com>

>  tests/ext4/055 | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/tests/ext4/055 b/tests/ext4/055
> index 8f466f1b..aa15cfe9 100755
> --- a/tests/ext4/055
> +++ b/tests/ext4/055
> @@ -26,6 +26,7 @@ _require_command "$DEBUGFS_PROG" debugfs
>  echo "Silence is golden"
>  
>  # The 1K blocksize is designed for debugfs.
> +_exclude_scratch_mount_option dax
>  _scratch_mkfs "-F -O quota -b 1024" > $seqres.full 2>&1
>  
>  # Start from 0, fill block 1 with 6,replace the original 2.
> -- 
> 2.31.0
> 


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH -v3 7/7] ext4: create file systems with the encrypt feature as necessary
  2022-06-29 12:45 ` [PATCH -v3 7/7] ext4: create file systems with the encrypt feature as necessary Theodore Ts'o
@ 2022-06-29 13:30   ` Zorro Lang
  2022-06-29 19:30     ` Theodore Ts'o
  0 siblings, 1 reply; 17+ messages in thread
From: Zorro Lang @ 2022-06-29 13:30 UTC (permalink / raw)
  To: Theodore Ts'o; +Cc: fstests, Eric Biggers

On Wed, Jun 29, 2022 at 08:45:40AM -0400, Theodore Ts'o wrote:
> 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>
> ---

This patch makes sense to me. 

Reviewed-by: Zorro Lang <zlang@redhat.com>

As Eric gave some review points to V2, so double check with Eric, if it's good
to him?

>  tests/ext4/003    | 6 +++++-
>  tests/ext4/035    | 5 ++++-
>  tests/ext4/306    | 3 +++
>  tests/generic/260 | 5 ++++-
>  4 files changed, 16 insertions(+), 3 deletions(-)
> 
> diff --git a/tests/ext4/003 b/tests/ext4/003
> index 773bcb03..6a4518e3 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=${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..a1ccce45 100755
> --- a/tests/ext4/035
> +++ b/tests/ext4/035
> @@ -25,7 +25,10 @@ _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
> +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..a6b7eab5 100755
> --- a/tests/ext4/306
> +++ b/tests/ext4/306
> @@ -33,6 +33,9 @@ features="^extents"
>  if grep -q 64bit /etc/mke2fs.conf ; then
>      features="^extents,^64bit"
>  fi
> +if echo "${MOUNT_OPTIONS}" | grep -q 'test_dummy_encryption' ; then
> +    features=${features},encrypt
> +fi
>  
>  blksz=$(get_page_size)
>  
> diff --git a/tests/generic/260 b/tests/generic/260
> index b4d72e0f..e86afe9c 100755
> --- a/tests/generic/260
> +++ b/tests/generic/260
> @@ -120,7 +120,10 @@ case $FSTYP in
>  		bsize=4096
>  		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
> +		    ENCRYPT="-O encrypt"
> +		fi
> +		export MKFS_OPTIONS="-F -b $bsize -g $agsize $ENCRYPT"
>  		;;
>  	xfs)
>  		agsize=65538
> -- 
> 2.31.0
> 


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH -v3 7/7] ext4: create file systems with the encrypt feature as necessary
  2022-06-29 13:30   ` Zorro Lang
@ 2022-06-29 19:30     ` Theodore Ts'o
  2022-06-29 21:20       ` Eric Biggers
  2022-06-30  1:39       ` Zorro Lang
  0 siblings, 2 replies; 17+ messages in thread
From: Theodore Ts'o @ 2022-06-29 19:30 UTC (permalink / raw)
  To: Zorro Lang; +Cc: fstests, Eric Biggers

On Wed, Jun 29, 2022 at 09:30:52PM +0800, Zorro Lang wrote:
> 
> As Eric gave some review points to V2, so double check with Eric, if it's good
> to him?

Eric, any other issues than the ones which you had mentioned (and
which I have addressed)?

Zorro, I have the patches based against for-next, and with your
reviewed-by tags appended, and tagged with a signed tag on the
for-upstream branch up on github.  Or if you like I can resend patch
series via e-mail.

      	    	       	   	- Ted

The following changes since commit 34c1208f601b5f22c62d0f3ed6f6c55c88aa4eff:

  xfs/{422,517}: kill background jobs on test termination (2022-06-25 00:27:11 +0800)

are available in the Git repository at:

  https://github.com/tytso/xfstests tags/for-zorro

for you to fetch changes up to 43dec26fe614b1d8ad8f4c67aaf6f88413b7f2f8:

  ext4: create file systems with the encrypt feature as necessary (2022-06-29 15:11:41 -0400)

----------------------------------------------------------------
Miscellaneous ext4 test fix ups

Previous versions of this patch series can be found at:

 - v1: https://lore.kernel.org/r/20220625030718.1215980-1-tytso@mit.edu
 - v2: https://lore.kernel.org/r/20220628182545.1834145-1-tytso@mit.edu
 - v3: https://lore.kernel.org/r/20220629124540.175775-1-tytso@mit.edu

----------------------------------------------------------------
Theodore Ts'o (7):
      ext4/050: support indirect as well as extent mapped journals
      ext4/044: skip test if the file system does not have a journal
      ext4/045: _require_dumpe2fs doesn't take any arguments so remove them
      ext4/054: skip test if the dax mount option is enabled
      ext4/055: skip test if dax mount option is used
      ext4/035: skip this test if the scratch device does not support 1k block sizes
      ext4: create file systems with the encrypt feature as necessary

 common/rc         |  3 +++
 tests/ext4/003    |  6 +++++-
 tests/ext4/035    |  8 +++++++-
 tests/ext4/044    |  1 +
 tests/ext4/045    |  2 +-
 tests/ext4/050    | 58 +++++-----------------------------------------------------
 tests/ext4/054    |  5 ++---
 tests/ext4/055    |  1 +
 tests/ext4/306    |  3 +++
 tests/generic/260 |  5 ++++-
 10 files changed, 32 insertions(+), 60 deletions(-)

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH -v3 7/7] ext4: create file systems with the encrypt feature as necessary
  2022-06-29 19:30     ` Theodore Ts'o
@ 2022-06-29 21:20       ` Eric Biggers
  2022-06-30  1:39       ` Zorro Lang
  1 sibling, 0 replies; 17+ messages in thread
From: Eric Biggers @ 2022-06-29 21:20 UTC (permalink / raw)
  To: Theodore Ts'o; +Cc: Zorro Lang, fstests

On Wed, Jun 29, 2022 at 03:30:04PM -0400, Theodore Ts'o wrote:
> On Wed, Jun 29, 2022 at 09:30:52PM +0800, Zorro Lang wrote:
> > 
> > As Eric gave some review points to V2, so double check with Eric, if it's good
> > to him?
> 
> Eric, any other issues than the ones which you had mentioned (and
> which I have addressed)?

Well, not all the comments I made on v2 were addressed; see
https://lore.kernel.org/fstests/YrvgMkrXh8iUItVv@sol.localdomain.
As I said, the overall approach is fine though.

- Eric

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH -v3 7/7] ext4: create file systems with the encrypt feature as necessary
  2022-06-29 19:30     ` Theodore Ts'o
  2022-06-29 21:20       ` Eric Biggers
@ 2022-06-30  1:39       ` Zorro Lang
  2022-06-30 14:45         ` Theodore Ts'o
  1 sibling, 1 reply; 17+ messages in thread
From: Zorro Lang @ 2022-06-30  1:39 UTC (permalink / raw)
  To: Theodore Ts'o; +Cc: fstests

On Wed, Jun 29, 2022 at 03:30:04PM -0400, Theodore Ts'o wrote:
> On Wed, Jun 29, 2022 at 09:30:52PM +0800, Zorro Lang wrote:
> > 
> > As Eric gave some review points to V2, so double check with Eric, if it's good
> > to him?
> 
> Eric, any other issues than the ones which you had mentioned (and
> which I have addressed)?
> 
> Zorro, I have the patches based against for-next, and with your
> reviewed-by tags appended, and tagged with a signed tag on the
> for-upstream branch up on github.  Or if you like I can resend patch
> series via e-mail.
> 
>       	    	       	   	- Ted
> 
> The following changes since commit 34c1208f601b5f22c62d0f3ed6f6c55c88aa4eff:
> 
>   xfs/{422,517}: kill background jobs on test termination (2022-06-25 00:27:11 +0800)
> 
> are available in the Git repository at:
> 
>   https://github.com/tytso/xfstests tags/for-zorro
> 
> for you to fetch changes up to 43dec26fe614b1d8ad8f4c67aaf6f88413b7f2f8:
> 
>   ext4: create file systems with the encrypt feature as necessary (2022-06-29 15:11:41 -0400)

Hi Ted,

Sure, if you won't change anymore, I'll get this patchset by:
  $ b4 am $message_id_of_this_email

If you still need to do more change, I can fetch the final version from above
git repo you metioned. Feel free to tell me, if it's ready to be merged :)

Thanks,
Zorro


> 
> ----------------------------------------------------------------
> Miscellaneous ext4 test fix ups
> 
> Previous versions of this patch series can be found at:
> 
>  - v1: https://lore.kernel.org/r/20220625030718.1215980-1-tytso@mit.edu
>  - v2: https://lore.kernel.org/r/20220628182545.1834145-1-tytso@mit.edu
>  - v3: https://lore.kernel.org/r/20220629124540.175775-1-tytso@mit.edu
> 
> ----------------------------------------------------------------
> Theodore Ts'o (7):
>       ext4/050: support indirect as well as extent mapped journals
>       ext4/044: skip test if the file system does not have a journal
>       ext4/045: _require_dumpe2fs doesn't take any arguments so remove them
>       ext4/054: skip test if the dax mount option is enabled
>       ext4/055: skip test if dax mount option is used
>       ext4/035: skip this test if the scratch device does not support 1k block sizes
>       ext4: create file systems with the encrypt feature as necessary
> 
>  common/rc         |  3 +++
>  tests/ext4/003    |  6 +++++-
>  tests/ext4/035    |  8 +++++++-
>  tests/ext4/044    |  1 +
>  tests/ext4/045    |  2 +-
>  tests/ext4/050    | 58 +++++-----------------------------------------------------
>  tests/ext4/054    |  5 ++---
>  tests/ext4/055    |  1 +
>  tests/ext4/306    |  3 +++
>  tests/generic/260 |  5 ++++-
>  10 files changed, 32 insertions(+), 60 deletions(-)
> 


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH -v3 7/7] ext4: create file systems with the encrypt feature as necessary
  2022-06-30  1:39       ` Zorro Lang
@ 2022-06-30 14:45         ` Theodore Ts'o
  0 siblings, 0 replies; 17+ messages in thread
From: Theodore Ts'o @ 2022-06-30 14:45 UTC (permalink / raw)
  To: Zorro Lang; +Cc: fstests

On Thu, Jun 30, 2022 at 09:39:45AM +0800, Zorro Lang wrote:
> On Wed, Jun 29, 2022 at 03:30:04PM -0400, Theodore Ts'o wrote:
> > On Wed, Jun 29, 2022 at 09:30:52PM +0800, Zorro Lang wrote:
> > > 
> > > As Eric gave some review points to V2, so double check with Eric, if it's good
> > > to him?
> > 
> > Eric, any other issues than the ones which you had mentioned (and
> > which I have addressed)?
> > 
> > Zorro, I have the patches based against for-next, and with your
> > reviewed-by tags appended, and tagged with a signed tag on the
> > for-upstream branch up on github.  Or if you like I can resend patch
> > series via e-mail.
> > 
> >       	    	       	   	- Ted
> > 
> > The following changes since commit 34c1208f601b5f22c62d0f3ed6f6c55c88aa4eff:
> > 
> >   xfs/{422,517}: kill background jobs on test termination (2022-06-25 00:27:11 +0800)
> > 
> > are available in the Git repository at:
> > 
> >   https://github.com/tytso/xfstests tags/for-zorro
> > 
> > for you to fetch changes up to 43dec26fe614b1d8ad8f4c67aaf6f88413b7f2f8:
> > 
> >   ext4: create file systems with the encrypt feature as necessary (2022-06-29 15:11:41 -0400)
> 
> Hi Ted,
> 
> Sure, if you won't change anymore, I'll get this patchset by:
>   $ b4 am $message_id_of_this_email
> 
> If you still need to do more change, I can fetch the final version from above
> git repo you metioned. Feel free to tell me, if it's ready to be merged :)

I've made some changes that requested by Eric (sorry Eric, I showhow
missed your comments from the -v2 patch series) , and will be
reposting a V4 of this patch series.

						- Ted
						

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2022-06-30 14:45 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-29 12:45 [PATCH -v3 0/7] Miscellaneous ext4 test fix ups Theodore Ts'o
2022-06-29 12:45 ` [PATCH -v3 1/7] ext4/050: support indirect as well as extent mapped journals Theodore Ts'o
2022-06-29 12:45 ` [PATCH -v3 2/7] ext4/044: skip test if the file system does not have a journal Theodore Ts'o
2022-06-29 13:11   ` Zorro Lang
2022-06-29 12:45 ` [PATCH -v3 3/7] ext4/045: _require_dumpe2fs doesn't take any arguments so remove them Theodore Ts'o
2022-06-29 13:12   ` Zorro Lang
2022-06-29 12:45 ` [PATCH -v3 4/7] ext4/054: skip test if the dax mount option is enabled Theodore Ts'o
2022-06-29 12:45 ` [PATCH -v3 5/7] ext4/055: skip test if dax mount option is used Theodore Ts'o
2022-06-29 13:15   ` Zorro Lang
2022-06-29 12:45 ` [PATCH -v3 6/7] ext4/035: skip this test if the scratch device does not support 1k block sizes Theodore Ts'o
2022-06-29 13:14   ` Zorro Lang
2022-06-29 12:45 ` [PATCH -v3 7/7] ext4: create file systems with the encrypt feature as necessary Theodore Ts'o
2022-06-29 13:30   ` Zorro Lang
2022-06-29 19:30     ` Theodore Ts'o
2022-06-29 21:20       ` Eric Biggers
2022-06-30  1:39       ` Zorro Lang
2022-06-30 14:45         ` Theodore Ts'o

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.