linux-ext4.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* remove _supported_fs
@ 2024-12-10  6:58 Christoph Hellwig
  2024-12-10  6:58 ` [PATCH 1/4] generic/363: remove _supported_fs xfs Christoph Hellwig
                   ` (4 more replies)
  0 siblings, 5 replies; 11+ messages in thread
From: Christoph Hellwig @ 2024-12-10  6:58 UTC (permalink / raw)
  To: Zorro Lang; +Cc: Brian Foster, fstests, linux-ext4

Hi all,

this series removes the remaining _supported_fs calls and replaces them
with a new _exclude_fs call.

The first patch removes a _supported_fs for a relatively new test from
Brian that fails on other file systems.  We should still run it so that
people have a chance to fix the corruption, so I think this make sense.

Then the ext4 directory is split so that the shared extN tests have their
own directory, and then it finally does the switch over now that now many
_supported_fs calls are left.

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

* [PATCH 1/4] generic/363: remove _supported_fs xfs
  2024-12-10  6:58 remove _supported_fs Christoph Hellwig
@ 2024-12-10  6:58 ` Christoph Hellwig
  2024-12-10 13:15   ` Brian Foster
  2024-12-10  6:58 ` [PATCH 2/4] common: remove the $FSYP check in _cleanup_dump Christoph Hellwig
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 11+ messages in thread
From: Christoph Hellwig @ 2024-12-10  6:58 UTC (permalink / raw)
  To: Zorro Lang; +Cc: Brian Foster, fstests, linux-ext4

Run this test for all file systems.  Just because they are broken doesn't
mean that zeroing should not be tested.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 tests/generic/363 | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/tests/generic/363 b/tests/generic/363
index 477c111ccb60..74226a458427 100755
--- a/tests/generic/363
+++ b/tests/generic/363
@@ -13,9 +13,6 @@ _begin_fstest rw auto
 
 _require_test
 
-# currently only xfs performs enough zeroing to satisfy fsx
-_supported_fs xfs
-
 # on failure, replace -q with -d to see post-eof writes in the dump output
 run_fsx "-q -S 0 -e 1 -N 100000"
 
-- 
2.45.2


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

* [PATCH 2/4] common: remove the $FSYP check in _cleanup_dump
  2024-12-10  6:58 remove _supported_fs Christoph Hellwig
  2024-12-10  6:58 ` [PATCH 1/4] generic/363: remove _supported_fs xfs Christoph Hellwig
@ 2024-12-10  6:58 ` Christoph Hellwig
  2024-12-10  6:58 ` [PATCH 3/4] ext-common: create a new test directory for ext* common tests Christoph Hellwig
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 11+ messages in thread
From: Christoph Hellwig @ 2024-12-10  6:58 UTC (permalink / raw)
  To: Zorro Lang; +Cc: Brian Foster, fstests, linux-ext4

Despite the comment, _cleanup_dump is only called from xfs specific
tests, so this is superfluous.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 common/dump | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/common/dump b/common/dump
index 50b2ba03c670..3761c16100d8 100644
--- a/common/dump
+++ b/common/dump
@@ -223,12 +223,6 @@ _require_tape()
 #
 _cleanup_dump()
 {
-    # Some tests include this before checking _supported_fs xfs
-    # and the sleeps & checks here get annoying
-    if [ "$FSTYP" != "xfs" ]; then
-       return
-    fi
-
     cd $here
 
     if [ -n "$DEBUGDUMP" ]; then
-- 
2.45.2


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

* [PATCH 3/4] ext-common: create a new test directory for ext* common tests
  2024-12-10  6:58 remove _supported_fs Christoph Hellwig
  2024-12-10  6:58 ` [PATCH 1/4] generic/363: remove _supported_fs xfs Christoph Hellwig
  2024-12-10  6:58 ` [PATCH 2/4] common: remove the $FSYP check in _cleanup_dump Christoph Hellwig
@ 2024-12-10  6:58 ` Christoph Hellwig
  2024-12-18 15:59   ` Jan Kara
  2024-12-10  6:58 ` [PATCH 4/4] replace _supported_fs with _exclude_fs Christoph Hellwig
  2024-12-10 13:00 ` remove _supported_fs Theodore Ts'o
  4 siblings, 1 reply; 11+ messages in thread
From: Christoph Hellwig @ 2024-12-10  6:58 UTC (permalink / raw)
  To: Zorro Lang; +Cc: Brian Foster, fstests, linux-ext4

Split the tests shared with ext2 and ext3 from the ext4 directory.
This makes ext4 a normal file system specific directory and cuts down
the number of _supported_fs calls to a little more than a handful
for tests that can't run on ext2.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 check                              |  9 +++++----
 tests/{ext4 => ext-common}/002     |  2 +-
 tests/{ext4 => ext-common}/002.out |  0
 tests/{ext4 => ext-common}/036     |  2 +-
 tests/{ext4 => ext-common}/036.out |  0
 tests/{ext4 => ext-common}/037     |  2 +-
 tests/{ext4 => ext-common}/037.out |  0
 tests/{ext4 => ext-common}/038     |  2 +-
 tests/{ext4 => ext-common}/038.out |  0
 tests/{ext4 => ext-common}/039     |  2 +-
 tests/{ext4 => ext-common}/039.out |  0
 tests/{ext4 => ext-common}/040     |  1 -
 tests/{ext4 => ext-common}/040.out |  0
 tests/{ext4 => ext-common}/041     |  1 -
 tests/{ext4 => ext-common}/041.out |  0
 tests/{ext4 => ext-common}/042     |  3 ---
 tests/{ext4 => ext-common}/042.out |  0
 tests/{ext4 => ext-common}/043     |  2 +-
 tests/{ext4 => ext-common}/043.out |  0
 tests/{ext4 => ext-common}/053     |  1 -
 tests/{ext4 => ext-common}/053.out |  0
 tests/ext-common/Makefile          | 24 ++++++++++++++++++++++++
 tests/ext4/001                     |  1 -
 tests/ext4/003                     |  2 --
 tests/ext4/004                     |  2 --
 tests/ext4/005                     |  1 -
 tests/ext4/006                     |  2 --
 tests/ext4/007                     |  2 --
 tests/ext4/008                     |  2 --
 tests/ext4/009                     |  2 --
 tests/ext4/010                     |  2 --
 tests/ext4/011                     |  2 --
 tests/ext4/012                     |  2 --
 tests/ext4/013                     |  2 --
 tests/ext4/014                     |  2 --
 tests/ext4/015                     |  2 --
 tests/ext4/016                     |  2 --
 tests/ext4/017                     |  2 --
 tests/ext4/018                     |  2 --
 tests/ext4/019                     |  2 --
 tests/ext4/020                     |  1 -
 tests/ext4/021                     |  1 -
 tests/ext4/022                     |  1 -
 tests/ext4/023                     |  1 -
 tests/ext4/024                     |  1 -
 tests/ext4/025                     |  1 -
 tests/ext4/026                     |  1 -
 tests/ext4/027                     |  1 -
 tests/ext4/028                     |  1 -
 tests/ext4/029                     |  1 -
 tests/ext4/030                     |  2 --
 tests/ext4/031                     |  2 --
 tests/ext4/032                     |  2 --
 tests/ext4/033                     |  1 -
 tests/ext4/034                     |  3 ---
 tests/ext4/035                     |  1 -
 tests/ext4/044                     |  1 -
 tests/ext4/045                     |  2 --
 tests/ext4/046                     |  1 -
 tests/ext4/047                     |  1 -
 tests/ext4/048                     |  2 --
 tests/ext4/049                     |  1 -
 tests/ext4/050                     |  2 --
 tests/ext4/051                     |  1 -
 tests/ext4/052                     |  3 ---
 tests/ext4/054                     |  1 -
 tests/ext4/055                     |  1 -
 tests/ext4/056                     |  1 -
 tests/ext4/057                     |  1 -
 tests/ext4/058                     |  1 -
 tests/ext4/059                     |  1 -
 tests/ext4/060                     |  1 -
 tests/ext4/271                     |  1 -
 tests/ext4/301                     |  1 -
 tests/ext4/302                     |  1 -
 tests/ext4/303                     |  1 -
 tests/ext4/304                     |  1 -
 tests/ext4/305                     |  2 --
 tests/ext4/306                     |  2 --
 tests/ext4/307                     |  1 -
 80 files changed, 35 insertions(+), 102 deletions(-)
 rename tests/{ext4 => ext-common}/002 (99%)
 rename tests/{ext4 => ext-common}/002.out (100%)
 rename tests/{ext4 => ext-common}/036 (97%)
 rename tests/{ext4 => ext-common}/036.out (100%)
 rename tests/{ext4 => ext-common}/037 (96%)
 rename tests/{ext4 => ext-common}/037.out (100%)
 rename tests/{ext4 => ext-common}/038 (97%)
 rename tests/{ext4 => ext-common}/038.out (100%)
 rename tests/{ext4 => ext-common}/039 (98%)
 rename tests/{ext4 => ext-common}/039.out (100%)
 rename tests/{ext4 => ext-common}/040 (98%)
 rename tests/{ext4 => ext-common}/040.out (100%)
 rename tests/{ext4 => ext-common}/041 (98%)
 rename tests/{ext4 => ext-common}/041.out (100%)
 rename tests/{ext4 => ext-common}/042 (97%)
 rename tests/{ext4 => ext-common}/042.out (100%)
 rename tests/{ext4 => ext-common}/043 (97%)
 rename tests/{ext4 => ext-common}/043.out (100%)
 rename tests/{ext4 => ext-common}/053 (99%)
 rename tests/{ext4 => ext-common}/053.out (100%)
 create mode 100644 tests/ext-common/Makefile

diff --git a/check b/check
index 607d2456e6a1..f7998853e747 100755
--- a/check
+++ b/check
@@ -143,7 +143,7 @@ get_group_list()
 	local grp=$1
 	local grpl=""
 	local sub=$(dirname $grp)
-	local fsgroup="$FSTYP"
+	local fsgroups="$FSTYP"
 
 	if [ -n "$sub" -a "$sub" != "." -a -d "$SRC_DIR/$sub" ]; then
 		# group is given as <subdir>/<group> (e.g. xfs/quick)
@@ -152,10 +152,11 @@ get_group_list()
 		return
 	fi
 
-	if [ "$FSTYP" = ext2 -o "$FSTYP" = ext3 ]; then
-	    fsgroup=ext4
+	if [ "$FSTYP" = ext2 -o "$FSTYP" = ext3 -o "$FSTYP" = ext4 ]; then
+	    fsgroups="$fsgroups ext-common"
 	fi
-	for d in $SRC_GROUPS $fsgroup; do
+
+	for d in $SRC_GROUPS $fsgroups; do
 		if ! test -d "$SRC_DIR/$d" ; then
 			continue
 		fi
diff --git a/tests/ext4/002 b/tests/ext-common/002
similarity index 99%
rename from tests/ext4/002
rename to tests/ext-common/002
index 9c6eb5a04136..7b3d5918bde9 100755
--- a/tests/ext4/002
+++ b/tests/ext-common/002
@@ -29,7 +29,7 @@ _cleanup()
 # Import common functions.
 . ./common/filter
 
-_supported_fs ext4 ext3
+_supported_fs ^ext2
 
 _require_scratch_nocheck
 _require_scratch_shutdown
diff --git a/tests/ext4/002.out b/tests/ext-common/002.out
similarity index 100%
rename from tests/ext4/002.out
rename to tests/ext-common/002.out
diff --git a/tests/ext4/036 b/tests/ext-common/036
similarity index 97%
rename from tests/ext4/036
rename to tests/ext-common/036
index 045fe82ff956..729d842df6e7 100755
--- a/tests/ext4/036
+++ b/tests/ext-common/036
@@ -15,7 +15,7 @@ _begin_fstest auto quick
 # Import common functions.
 . ./common/filter
 
-_supported_fs ext3 ext4
+_supported_fs ^ext2
 _require_scratch
 
 echo "Silence is golden"
diff --git a/tests/ext4/036.out b/tests/ext-common/036.out
similarity index 100%
rename from tests/ext4/036.out
rename to tests/ext-common/036.out
diff --git a/tests/ext4/037 b/tests/ext-common/037
similarity index 96%
rename from tests/ext4/037
rename to tests/ext-common/037
index ac309d67aac5..3f2232f0de60 100755
--- a/tests/ext4/037
+++ b/tests/ext-common/037
@@ -15,7 +15,7 @@ _begin_fstest auto quick
 # Import common functions.
 . ./common/filter
 
-_supported_fs ext3 ext4
+_supported_fs ^ext2
 
 # nofsck as we modify sb via debugfs
 _require_scratch_nocheck
diff --git a/tests/ext4/037.out b/tests/ext-common/037.out
similarity index 100%
rename from tests/ext4/037.out
rename to tests/ext-common/037.out
diff --git a/tests/ext4/038 b/tests/ext-common/038
similarity index 97%
rename from tests/ext4/038
rename to tests/ext-common/038
index b594bd9cb2e2..09d3b10bdcf2 100755
--- a/tests/ext4/038
+++ b/tests/ext-common/038
@@ -12,7 +12,7 @@ _begin_fstest auto quick
 
 # Import common functions.
 
-_supported_fs ext3 ext4
+_supported_fs ^ext2
 _require_scratch
 _require_command "$DEBUGFS_PROG" debugfs
 
diff --git a/tests/ext4/038.out b/tests/ext-common/038.out
similarity index 100%
rename from tests/ext4/038.out
rename to tests/ext-common/038.out
diff --git a/tests/ext4/039 b/tests/ext-common/039
similarity index 98%
rename from tests/ext4/039
rename to tests/ext-common/039
index 2830740eb3cf..be766668df60 100755
--- a/tests/ext4/039
+++ b/tests/ext-common/039
@@ -56,7 +56,7 @@ chattr_opt: $chattr_opt" >>$seqres.full
 	done
 }
 
-_supported_fs ext3 ext4
+_supported_fs ^ext2
 _require_scratch
 _exclude_scratch_mount_option dax
 
diff --git a/tests/ext4/039.out b/tests/ext-common/039.out
similarity index 100%
rename from tests/ext4/039.out
rename to tests/ext-common/039.out
diff --git a/tests/ext4/040 b/tests/ext-common/040
similarity index 98%
rename from tests/ext4/040
rename to tests/ext-common/040
index 5760058ad7d4..f22c655b4909 100755
--- a/tests/ext4/040
+++ b/tests/ext-common/040
@@ -21,7 +21,6 @@ PIDS=""
 # Import common functions.
 . ./common/filter
 
-_supported_fs ext2 ext3 ext4
 _require_scratch_nocheck
 _disable_dmesg_check
 _require_command "$DEBUGFS_PROG"
diff --git a/tests/ext4/040.out b/tests/ext-common/040.out
similarity index 100%
rename from tests/ext4/040.out
rename to tests/ext-common/040.out
diff --git a/tests/ext4/041 b/tests/ext-common/041
similarity index 98%
rename from tests/ext4/041
rename to tests/ext-common/041
index 76513db3f887..3df1b9db803d 100755
--- a/tests/ext4/041
+++ b/tests/ext-common/041
@@ -21,7 +21,6 @@ PIDS=""
 # Import common functions.
 . ./common/filter
 
-_supported_fs ext2 ext3 ext4
 _require_scratch_nocheck
 _disable_dmesg_check
 _require_command "$DEBUGFS_PROG"
diff --git a/tests/ext4/041.out b/tests/ext-common/041.out
similarity index 100%
rename from tests/ext4/041.out
rename to tests/ext-common/041.out
diff --git a/tests/ext4/042 b/tests/ext-common/042
similarity index 97%
rename from tests/ext4/042
rename to tests/ext-common/042
index 0d97f6de4c2a..61fe948f2b61 100755
--- a/tests/ext4/042
+++ b/tests/ext-common/042
@@ -12,9 +12,6 @@ _begin_fstest auto quick
 # Import common functions.
 . ./common/filter
 
-
-# Modify as appropriate.
-_supported_fs ext2 ext3 ext4
 _require_scratch
 
 _scratch_mkfs >> $seqres.full 2>&1
diff --git a/tests/ext4/042.out b/tests/ext-common/042.out
similarity index 100%
rename from tests/ext4/042.out
rename to tests/ext-common/042.out
diff --git a/tests/ext4/043 b/tests/ext-common/043
similarity index 97%
rename from tests/ext4/043
rename to tests/ext-common/043
index 0bbbb42ac41d..cf0bef4e7407 100755
--- a/tests/ext4/043
+++ b/tests/ext-common/043
@@ -12,7 +12,7 @@ _begin_fstest auto quick
 # Import common functions.
 . ./common/filter
 
-_supported_fs ext3 ext4
+_supported_fs ^ext2
 
 _require_scratch
 _require_test_program "t_get_file_time"
diff --git a/tests/ext4/043.out b/tests/ext-common/043.out
similarity index 100%
rename from tests/ext4/043.out
rename to tests/ext-common/043.out
diff --git a/tests/ext4/053 b/tests/ext-common/053
similarity index 99%
rename from tests/ext4/053
rename to tests/ext-common/053
index 4f20d217d5fd..5922ed571d8a 100755
--- a/tests/ext4/053
+++ b/tests/ext-common/053
@@ -39,7 +39,6 @@ echo "Silence is golden."
 SIZE=$((1024 * 1024))	# 1GB in KB
 LOGSIZE=$((10 *1024))	# 10MB in KB
 
-_supported_fs ext2 ext3 ext4
 _require_scratch_size $SIZE
 _require_quota
 _require_loop
diff --git a/tests/ext4/053.out b/tests/ext-common/053.out
similarity index 100%
rename from tests/ext4/053.out
rename to tests/ext-common/053.out
diff --git a/tests/ext-common/Makefile b/tests/ext-common/Makefile
new file mode 100644
index 000000000000..686d38410377
--- /dev/null
+++ b/tests/ext-common/Makefile
@@ -0,0 +1,24 @@
+#
+# Copyright (c) 2003-2005 Silicon Graphics, Inc.  All Rights Reserved.
+#
+
+TOPDIR = ../..
+include $(TOPDIR)/include/builddefs
+include $(TOPDIR)/include/buildgrouplist
+
+THIS_DIR = ext-common
+TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(THIS_DIR)
+DIRT = group.list
+
+default: $(DIRT)
+
+include $(BUILDRULES)
+
+install: default
+	$(INSTALL) -m 755 -d $(TARGET_DIR)
+	$(INSTALL) -m 755 $(TESTS) $(TARGET_DIR)
+	$(INSTALL) -m 644 group.list $(TARGET_DIR)
+	$(INSTALL) -m 644 $(OUTFILES) $(TARGET_DIR)
+
+# Nothing.
+install-dev install-lib:
diff --git a/tests/ext4/001 b/tests/ext4/001
index 4575cf6973bb..7d20794c90dc 100755
--- a/tests/ext4/001
+++ b/tests/ext4/001
@@ -14,7 +14,6 @@ _begin_fstest auto prealloc quick zero fiemap
 . ./common/filter
 . ./common/punch
 
-_supported_fs ext4
 _require_xfs_io_command "falloc"
 _require_xfs_io_command "fzero"
 _require_test
diff --git a/tests/ext4/003 b/tests/ext4/003
index e2b588d88849..5b5c5f5335b2 100755
--- a/tests/ext4/003
+++ b/tests/ext4/003
@@ -20,8 +20,6 @@ _cleanup()
 # Import common functions.
 . ./common/filter
 
-_supported_fs ext4
-
 _require_scratch
 _require_scratch_ext4_feature "bigalloc"
 
diff --git a/tests/ext4/004 b/tests/ext4/004
index ab2f838e9fac..6dee9d43130c 100755
--- a/tests/ext4/004
+++ b/tests/ext4/004
@@ -43,8 +43,6 @@ workout()
 	rm -rf restoresymtable
 }
 
-_supported_fs ext4
-
 _require_test
 _require_scratch
 
diff --git a/tests/ext4/005 b/tests/ext4/005
index a271fbbf641a..f162dee11d1e 100755
--- a/tests/ext4/005
+++ b/tests/ext4/005
@@ -17,7 +17,6 @@ _begin_fstest auto quick metadata ioctl rw
 # Import common functions.
 . ./common/filter
 
-_supported_fs ext4
 _require_scratch
 _require_command "$CHATTR_PROG" chattr
 
diff --git a/tests/ext4/006 b/tests/ext4/006
index d78620731148..a4c9fd5ca75b 100755
--- a/tests/ext4/006
+++ b/tests/ext4/006
@@ -28,8 +28,6 @@ if [ ! -x "$(type -P e2fuzz)" ]; then
 	_notrun "Couldn't find e2fuzz"
 fi
 
-_supported_fs ext4
-
 _require_scratch
 _require_attrs
 _require_populate_commands
diff --git a/tests/ext4/007 b/tests/ext4/007
index deedbd9e8fb3..3a1f05a46b6d 100755
--- a/tests/ext4/007
+++ b/tests/ext4/007
@@ -21,8 +21,6 @@ _cleanup()
 . ./common/filter
 . ./common/attr
 
-_supported_fs ext4
-
 _require_scratch
 test -n "${FORCE_FUZZ}" || _require_scratch_ext4_crc
 _require_attrs
diff --git a/tests/ext4/008 b/tests/ext4/008
index b4b20ac10d6d..fdd5fef82f91 100755
--- a/tests/ext4/008
+++ b/tests/ext4/008
@@ -21,8 +21,6 @@ _cleanup()
 . ./common/filter
 . ./common/attr
 
-_supported_fs ext4
-
 _require_scratch
 test -n "${FORCE_FUZZ}" || _require_scratch_ext4_crc
 _require_attrs
diff --git a/tests/ext4/009 b/tests/ext4/009
index 06a42fd77ffa..7b498d9777f4 100755
--- a/tests/ext4/009
+++ b/tests/ext4/009
@@ -21,8 +21,6 @@ _cleanup()
 . ./common/filter
 . ./common/attr
 
-_supported_fs ext4
-
 _require_xfs_io_command "falloc"
 _require_scratch
 test -n "${FORCE_FUZZ}" || _require_scratch_ext4_crc
diff --git a/tests/ext4/010 b/tests/ext4/010
index 1139c79e80d5..a6c52c2044f9 100755
--- a/tests/ext4/010
+++ b/tests/ext4/010
@@ -21,8 +21,6 @@ _cleanup()
 . ./common/filter
 . ./common/attr
 
-_supported_fs ext4
-
 _require_scratch
 _require_dumpe2fs
 test -n "${FORCE_FUZZ}" || _require_scratch_ext4_crc
diff --git a/tests/ext4/011 b/tests/ext4/011
index cae4fb6b8476..9ef5f9f9e26d 100755
--- a/tests/ext4/011
+++ b/tests/ext4/011
@@ -21,8 +21,6 @@ _cleanup()
 . ./common/filter
 . ./common/attr
 
-_supported_fs ext4
-
 _require_scratch
 test -n "${FORCE_FUZZ}" || _require_scratch_ext4_crc
 _require_attrs
diff --git a/tests/ext4/012 b/tests/ext4/012
index f7f2b0fb4557..aaef6bf709c4 100755
--- a/tests/ext4/012
+++ b/tests/ext4/012
@@ -21,8 +21,6 @@ _cleanup()
 . ./common/filter
 . ./common/attr
 
-_supported_fs ext4
-
 _require_scratch
 test -n "${FORCE_FUZZ}" || _require_scratch_ext4_crc
 _require_attrs
diff --git a/tests/ext4/013 b/tests/ext4/013
index 7d2a9154a669..6814415cee6c 100755
--- a/tests/ext4/013
+++ b/tests/ext4/013
@@ -21,8 +21,6 @@ _cleanup()
 . ./common/filter
 . ./common/attr
 
-_supported_fs ext4
-
 _require_scratch
 test -n "${FORCE_FUZZ}" || _require_scratch_ext4_crc
 _require_attrs
diff --git a/tests/ext4/014 b/tests/ext4/014
index ffed795ad4e9..20ae684df994 100755
--- a/tests/ext4/014
+++ b/tests/ext4/014
@@ -21,8 +21,6 @@ _cleanup()
 . ./common/filter
 . ./common/attr
 
-_supported_fs ext4
-
 _require_scratch
 test -n "${FORCE_FUZZ}" || _require_scratch_ext4_crc
 _require_attrs
diff --git a/tests/ext4/015 b/tests/ext4/015
index 81feda5c9423..e405a3da96d6 100755
--- a/tests/ext4/015
+++ b/tests/ext4/015
@@ -21,8 +21,6 @@ _cleanup()
 . ./common/filter
 . ./common/attr
 
-_supported_fs ext4
-
 _require_xfs_io_command "falloc"
 _require_xfs_io_command "fpunch"
 _require_scratch
diff --git a/tests/ext4/016 b/tests/ext4/016
index b7db4cfda649..00dcb61ec7b0 100755
--- a/tests/ext4/016
+++ b/tests/ext4/016
@@ -21,8 +21,6 @@ _cleanup()
 . ./common/filter
 . ./common/attr
 
-_supported_fs ext4
-
 _require_scratch
 test -n "${FORCE_FUZZ}" || _require_scratch_ext4_crc
 _require_attrs
diff --git a/tests/ext4/017 b/tests/ext4/017
index fc867442c3da..c29f6a741674 100755
--- a/tests/ext4/017
+++ b/tests/ext4/017
@@ -21,8 +21,6 @@ _cleanup()
 . ./common/filter
 . ./common/attr
 
-_supported_fs ext4
-
 _require_scratch
 test -n "${FORCE_FUZZ}" || _require_scratch_ext4_crc
 _require_attrs
diff --git a/tests/ext4/018 b/tests/ext4/018
index f7377f059fb8..d0e071c68def 100755
--- a/tests/ext4/018
+++ b/tests/ext4/018
@@ -21,8 +21,6 @@ _cleanup()
 . ./common/filter
 . ./common/attr
 
-_supported_fs ext4
-
 _require_scratch
 test -n "${FORCE_FUZZ}" || _require_scratch_ext4_crc
 _require_attrs
diff --git a/tests/ext4/019 b/tests/ext4/019
index 987972a80a37..35b291abd598 100755
--- a/tests/ext4/019
+++ b/tests/ext4/019
@@ -21,8 +21,6 @@ _cleanup()
 . ./common/filter
 . ./common/attr
 
-_supported_fs ext4
-
 _require_scratch
 test -n "${FORCE_FUZZ}" || _require_scratch_ext4_crc
 _require_attrs
diff --git a/tests/ext4/020 b/tests/ext4/020
index a2fb60fa8cc6..6a3a5a299c45 100755
--- a/tests/ext4/020
+++ b/tests/ext4/020
@@ -17,7 +17,6 @@ _begin_fstest auto quick ioctl rw defrag
 . ./common/filter
 . ./common/defrag
 
-_supported_fs ext4
 _require_scratch
 _require_defrag
 
diff --git a/tests/ext4/021 b/tests/ext4/021
index d69dc584dc58..8df8edb22591 100755
--- a/tests/ext4/021
+++ b/tests/ext4/021
@@ -12,7 +12,6 @@ _begin_fstest auto quick
 
 # Import common functions.
 
-_supported_fs ext4
 _require_scratch
 _require_dumpe2fs
 
diff --git a/tests/ext4/022 b/tests/ext4/022
index 6b74ff892a35..f5701c1b43a0 100755
--- a/tests/ext4/022
+++ b/tests/ext4/022
@@ -18,7 +18,6 @@ do_setfattr()
 . ./common/filter
 . ./common/attr
 
-_supported_fs ext4
 _require_scratch
 _require_dumpe2fs
 _require_command "$DEBUGFS_PROG" debugfs
diff --git a/tests/ext4/023 b/tests/ext4/023
index b5217da33f15..4e26aae6535b 100755
--- a/tests/ext4/023
+++ b/tests/ext4/023
@@ -18,7 +18,6 @@ _register_cleanup "_cleanup" BUS
 . ./common/populate
 . ./common/fuzzy
 
-_supported_fs ext4
 _require_scratch
 
 echo "Format and populate"
diff --git a/tests/ext4/024 b/tests/ext4/024
index e58cb9918f25..0b05d7345f24 100755
--- a/tests/ext4/024
+++ b/tests/ext4/024
@@ -13,7 +13,6 @@ _begin_fstest auto quick encrypt dangerous
 # get standard environment and checks
 . ./common/encrypt
 
-_supported_fs ext4
 _require_scratch_encryption
 _require_command "$KEYCTL_PROG" keyctl
 
diff --git a/tests/ext4/025 b/tests/ext4/025
index ce3a3d21969b..2f9da4c7d957 100755
--- a/tests/ext4/025
+++ b/tests/ext4/025
@@ -13,7 +13,6 @@ _begin_fstest auto quick fuzzers dangerous
 # get standard environment and checks
 . ./common/filter
 
-_supported_fs ext4
 _require_scratch_nocheck
 _require_command "$DEBUGFS_PROG" debugfs
 _require_scratch_ext4_feature "bigalloc,meta_bg,^resize_inode"
diff --git a/tests/ext4/026 b/tests/ext4/026
index 5bb2add23036..494de9bcdcae 100755
--- a/tests/ext4/026
+++ b/tests/ext4/026
@@ -16,7 +16,6 @@ _begin_fstest auto quick attr
 . ./common/filter
 . ./common/attr
 
-_supported_fs ext4
 _require_scratch
 _require_attrs
 _require_scratch_ext4_feature "ea_inode"
diff --git a/tests/ext4/027 b/tests/ext4/027
index 93de00f29481..50d999c25713 100755
--- a/tests/ext4/027
+++ b/tests/ext4/027
@@ -19,7 +19,6 @@ _cleanup()
 # Import common functions.
 . ./common/filter
 
-_supported_fs ext4
 _require_scratch
 _require_xfs_io_command "fsmap"
 
diff --git a/tests/ext4/028 b/tests/ext4/028
index 30f3c4480c7c..244fd4442825 100755
--- a/tests/ext4/028
+++ b/tests/ext4/028
@@ -20,7 +20,6 @@ _cleanup()
 . ./common/filter
 . ./common/populate
 
-_supported_fs ext4
 _require_scratch
 _require_populate_commands
 _require_xfs_io_command "fsmap"
diff --git a/tests/ext4/029 b/tests/ext4/029
index 8a6969d2aaef..0912b04d4f0c 100755
--- a/tests/ext4/029
+++ b/tests/ext4/029
@@ -19,7 +19,6 @@ _cleanup()
 # Import common functions.
 . ./common/filter
 
-_supported_fs ext4
 _require_logdev
 _require_scratch
 _require_xfs_io_command "fsmap"
diff --git a/tests/ext4/030 b/tests/ext4/030
index 80f34ccf3e49..c54a0131b6de 100755
--- a/tests/ext4/030
+++ b/tests/ext4/030
@@ -14,8 +14,6 @@ _begin_fstest auto quick dax
 # Import common functions.
 . ./common/filter
 
-# Modify as appropriate.
-_supported_fs ext4
 _require_scratch_dax_mountopt "dax"
 _require_test_program "t_ext4_dax_journal_corruption"
 _require_command "$CHATTR_PROG" chattr
diff --git a/tests/ext4/031 b/tests/ext4/031
index b583f825162f..1f129460f0f7 100755
--- a/tests/ext4/031
+++ b/tests/ext4/031
@@ -18,8 +18,6 @@ _begin_fstest auto quick dax
 SAVE_MOUNT_OPTIONS="$MOUNT_OPTIONS"
 MOUNT_OPTIONS=""
 
-# Modify as appropriate.
-_supported_fs ext4
 _require_scratch_dax_mountopt "dax"
 _require_test_program "t_ext4_dax_inline_corruption"
 _require_scratch_ext4_feature "inline_data"
diff --git a/tests/ext4/032 b/tests/ext4/032
index 238ab178363c..815502ef031b 100755
--- a/tests/ext4/032
+++ b/tests/ext4/032
@@ -83,8 +83,6 @@ _cleanup()
 
 # get standard environment and checks
 
-_supported_fs ext4
-
 _require_loop
 _require_scratch
 # We use resize_inode to make sure that block group descriptor table
diff --git a/tests/ext4/033 b/tests/ext4/033
index 53f7106e2c6b..be102bbdcdea 100755
--- a/tests/ext4/033
+++ b/tests/ext4/033
@@ -24,7 +24,6 @@ _cleanup()
 . ./common/filter
 . ./common/dmhugedisk
 
-_supported_fs ext4
 _require_scratch_nocheck
 _require_dmhugedisk
 _require_dumpe2fs
diff --git a/tests/ext4/034 b/tests/ext4/034
index cdd2e553f534..e50f9277e634 100755
--- a/tests/ext4/034
+++ b/tests/ext4/034
@@ -17,9 +17,6 @@ _begin_fstest auto quick quota fiemap prealloc
 . ./common/filter
 . ./common/quota
 
-
-# Modify as appropriate.
-_supported_fs ext4
 _require_scratch
 _require_quota
 _require_nobody
diff --git a/tests/ext4/035 b/tests/ext4/035
index cf221c5adb7d..e8da7481edf5 100755
--- a/tests/ext4/035
+++ b/tests/ext4/035
@@ -19,7 +19,6 @@ _begin_fstest auto quick resize
 # Import common functions.
 . ./common/filter
 
-_supported_fs ext4
 _require_scratch
 _exclude_scratch_mount_option dax
 _require_command "$RESIZE2FS_PROG" resize2fs
diff --git a/tests/ext4/044 b/tests/ext4/044
index 53006514dc72..ec8c0f4e7bc9 100755
--- a/tests/ext4/044
+++ b/tests/ext4/044
@@ -12,7 +12,6 @@ _begin_fstest auto quick
 # Import common functions.
 . ./common/filter
 
-_supported_fs ext4
 _require_scratch
 _require_test_program "t_get_file_time"
 _require_metadata_journaling
diff --git a/tests/ext4/045 b/tests/ext4/045
index 587bedece4e1..3db87dbd1b39 100755
--- a/tests/ext4/045
+++ b/tests/ext4/045
@@ -16,8 +16,6 @@ LONG_DIR=2
 # Import common functions.
 . ./common/filter
 
-_supported_fs ext4
-
 _require_scratch
 _require_scratch_ext4_feature large_dir
 _require_test_program "t_create_short_dirs"
diff --git a/tests/ext4/046 b/tests/ext4/046
index 5c2100ce9253..b8e11b81a404 100755
--- a/tests/ext4/046
+++ b/tests/ext4/046
@@ -16,7 +16,6 @@ _begin_fstest auto prealloc quick
 . ./common/filter
 
 _require_check_dmesg
-_supported_fs ext4
 _require_scratch
 _require_xfs_io_command "falloc"
 _require_scratch_size $((6 * 1024 * 1024)) #kB
diff --git a/tests/ext4/047 b/tests/ext4/047
index f67b615ab082..c0fce3a0f658 100755
--- a/tests/ext4/047
+++ b/tests/ext4/047
@@ -13,7 +13,6 @@ _begin_fstest auto quick dax
 # Import common functions.
 . ./common/filter
 
-_supported_fs ext4
 _require_scratch_dax_mountopt "dax=always"
 _require_dax_iflag
 _require_scratch_ext4_feature "inline_data"
diff --git a/tests/ext4/048 b/tests/ext4/048
index 99a2c7b8fe4d..c8981058e0b9 100755
--- a/tests/ext4/048
+++ b/tests/ext4/048
@@ -13,8 +13,6 @@ _begin_fstest auto quick dir
 # Import common functions.
 . ./common/filter
 
-_supported_fs ext4
-
 _require_scratch
 _require_command "$DEBUGFS_PROG" debugfs
 
diff --git a/tests/ext4/049 b/tests/ext4/049
index 5b24e632a73b..6a86b16b2aa9 100755
--- a/tests/ext4/049
+++ b/tests/ext4/049
@@ -13,7 +13,6 @@ _begin_fstest auto quick
 # Import common functions.
 . ./common/filter
 
-_supported_fs ext4
 _require_scratch
 
 sdev=$(_short_dev ${SCRATCH_DEV})
diff --git a/tests/ext4/050 b/tests/ext4/050
index 6ba0038e71f2..350f62907b04 100755
--- a/tests/ext4/050
+++ b/tests/ext4/050
@@ -13,8 +13,6 @@ _begin_fstest auto ioctl quick
 # Import common functions.
 . ./common/filter
 
-_supported_fs ext4
-
 _require_scratch
 _require_command "$DEBUGFS_PROG" debugfs
 
diff --git a/tests/ext4/051 b/tests/ext4/051
index a1e35fa323d3..4317b86d2a8c 100755
--- a/tests/ext4/051
+++ b/tests/ext4/051
@@ -12,7 +12,6 @@
 . ./common/preamble
 _begin_fstest auto rw quick
 
-_supported_fs ext4
 _require_scratch
 _require_scratch_shutdown
 _require_command "$TUNE2FS_PROG" tune2fs
diff --git a/tests/ext4/052 b/tests/ext4/052
index edcdc02515f7..adcf632679b4 100755
--- a/tests/ext4/052
+++ b/tests/ext4/052
@@ -27,9 +27,6 @@ _cleanup()
 # Import common functions.
 # . ./common/filter
 
-
-# Modify as appropriate.
-_supported_fs ext4
 _require_test
 _require_loop
 _require_test_program "dirstress"
diff --git a/tests/ext4/054 b/tests/ext4/054
index 0dbe83640072..9b806bca8e46 100755
--- a/tests/ext4/054
+++ b/tests/ext4/054
@@ -17,7 +17,6 @@ _begin_fstest auto quick dangerous_fuzzers prealloc punch
 # Import common functions
 . ./common/filter
 
-_supported_fs ext4
 _require_scratch_nocheck
 _require_xfs_io_command "falloc"
 _require_xfs_io_command "pwrite"
diff --git a/tests/ext4/055 b/tests/ext4/055
index e1815c23727a..6f5704049b7c 100755
--- a/tests/ext4/055
+++ b/tests/ext4/055
@@ -17,7 +17,6 @@
 _begin_fstest auto quota
 
 _require_scratch_nocheck
-_supported_fs ext4
 _require_user fsgqa
 _require_user fsgqa2
 _require_command "$DEBUGFS_PROG" debugfs
diff --git a/tests/ext4/056 b/tests/ext4/056
index 8a290b11d697..fd471fde3038 100755
--- a/tests/ext4/056
+++ b/tests/ext4/056
@@ -26,7 +26,6 @@ ONLINE_RESIZE_BLOCK_LIMIT=$((256*1024*1024))
 
 STOP_ITER=255   # Arbitrary return code
 
-_supported_fs ext4
 _require_scratch_size $(($RESIZED_FS_SIZE/1024))
 _require_test_program "ext4_resize"
 
diff --git a/tests/ext4/057 b/tests/ext4/057
index 73cdf941a181..d8655e00150e 100755
--- a/tests/ext4/057
+++ b/tests/ext4/057
@@ -11,7 +11,6 @@ _begin_fstest auto ioctl
 # Import common functions.
 . ./common/filter
 
-_supported_fs ext4
 _require_scratch
 _require_test_program uuid_ioctl
 _require_command $UUIDGEN_PROG uuidgen
diff --git a/tests/ext4/058 b/tests/ext4/058
index f853649644db..c291547b38fd 100755
--- a/tests/ext4/058
+++ b/tests/ext4/058
@@ -13,7 +13,6 @@
 . ./common/preamble
 _begin_fstest auto quick
 
-_supported_fs ext4
 _fixed_by_kernel_commit a08f789d2ab5 \
 	"ext4: fix bug_on ext4_mb_use_inode_pa"
 _require_scratch
diff --git a/tests/ext4/059 b/tests/ext4/059
index 50e788f0a169..6bb1c4bac44d 100755
--- a/tests/ext4/059
+++ b/tests/ext4/059
@@ -11,7 +11,6 @@
 . ./common/preamble
 _begin_fstest auto resize quick
 
-_supported_fs ext4
 _fixed_by_kernel_commit b55c3cd102a6 \
 	"ext4: add reserved GDT blocks check"
 
diff --git a/tests/ext4/060 b/tests/ext4/060
index 38d1c8f7b672..67d6e444c051 100755
--- a/tests/ext4/060
+++ b/tests/ext4/060
@@ -14,7 +14,6 @@
 . ./common/preamble
 _begin_fstest auto resize quick
 
-_supported_fs ext4
 _fixed_by_kernel_commit a6b3bfe176e8 \
 	"ext4: fix corruption during on-line resize"
 
diff --git a/tests/ext4/271 b/tests/ext4/271
index 6d60f40d3d25..62bb8a073934 100755
--- a/tests/ext4/271
+++ b/tests/ext4/271
@@ -12,7 +12,6 @@ _begin_fstest auto rw quick
 # Import common functions.
 . ./common/filter
 
-_supported_fs ext4
 _require_scratch
 # this test needs no journal to be loaded, skip on journal related mount
 # options, otherwise mount would fail with "-o noload" mount option
diff --git a/tests/ext4/301 b/tests/ext4/301
index dd0c7d483761..855ebe3d0660 100755
--- a/tests/ext4/301
+++ b/tests/ext4/301
@@ -15,7 +15,6 @@ fio_config=$tmp.fio
 . ./common/filter
 . ./common/defrag
 
-_supported_fs ext4
 _require_scratch
 _require_defrag
 _require_odirect
diff --git a/tests/ext4/302 b/tests/ext4/302
index d73cf9bf84da..9e3c5e6939eb 100755
--- a/tests/ext4/302
+++ b/tests/ext4/302
@@ -16,7 +16,6 @@ fio_config=$tmp.fio
 . ./common/filter
 . ./common/defrag
 
-_supported_fs ext4
 _require_scratch
 _require_defrag
 _require_odirect
diff --git a/tests/ext4/303 b/tests/ext4/303
index d9be45674e40..8cfb69830687 100755
--- a/tests/ext4/303
+++ b/tests/ext4/303
@@ -16,7 +16,6 @@ fio_config=$tmp.fio
 . ./common/filter
 . ./common/defrag
 
-_supported_fs ext4
 _require_scratch
 _require_defrag
 _require_odirect
diff --git a/tests/ext4/304 b/tests/ext4/304
index 208b8a2ac119..7ef2e6508cd3 100755
--- a/tests/ext4/304
+++ b/tests/ext4/304
@@ -17,7 +17,6 @@ fio_config=$tmp.fio
 . ./common/filter
 . ./common/defrag
 
-_supported_fs ext4
 _require_scratch
 _require_defrag
 _require_odirect
diff --git a/tests/ext4/305 b/tests/ext4/305
index acada44bc75a..ce4d7742db23 100755
--- a/tests/ext4/305
+++ b/tests/ext4/305
@@ -22,8 +22,6 @@ _cleanup()
 # Import common functions.
 . ./common/filter
 
-_supported_fs ext4
-
 _require_scratch
 
 echo "Silence is golden"
diff --git a/tests/ext4/306 b/tests/ext4/306
index b5147caf547e..d657185cd5fe 100755
--- a/tests/ext4/306
+++ b/tests/ext4/306
@@ -22,8 +22,6 @@ _cleanup()
 # Import common functions.
 . ./common/filter
 
-_supported_fs ext4
-
 _require_scratch
 _require_command "$RESIZE2FS_PROG" resize2fs
 
diff --git a/tests/ext4/307 b/tests/ext4/307
index 8361f04312b2..b46be6b8b487 100755
--- a/tests/ext4/307
+++ b/tests/ext4/307
@@ -34,7 +34,6 @@ _workout()
 	run_check md5sum -c $out.md5sum
 }
 
-_supported_fs ext4
 _require_scratch
 _require_defrag
 _require_xfs_io_command "falloc"
-- 
2.45.2


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

* [PATCH 4/4] replace _supported_fs with _exclude_fs
  2024-12-10  6:58 remove _supported_fs Christoph Hellwig
                   ` (2 preceding siblings ...)
  2024-12-10  6:58 ` [PATCH 3/4] ext-common: create a new test directory for ext* common tests Christoph Hellwig
@ 2024-12-10  6:58 ` Christoph Hellwig
  2024-12-10 13:00 ` remove _supported_fs Theodore Ts'o
  4 siblings, 0 replies; 11+ messages in thread
From: Christoph Hellwig @ 2024-12-10  6:58 UTC (permalink / raw)
  To: Zorro Lang; +Cc: Brian Foster, fstests, linux-ext4

Tests don't require a list of supported file systems, as that is deducted
from the test directory name.  Instead we exclude specific file systems
from a few common tests, and pick the extN variants supported for the
ext4 directory.

Replace _supported_fs with a new _exclude_fs that takes only a single
file systems as the argument, making it easier to explain why the file
system is not supported.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 common/rc            | 30 ++++++++----------------------
 tests/ext-common/002 |  2 +-
 tests/ext-common/036 |  3 ++-
 tests/ext-common/037 |  2 +-
 tests/ext-common/038 |  3 +--
 tests/ext-common/039 |  3 ++-
 tests/ext-common/043 |  2 +-
 tests/generic/187    |  8 +++++---
 tests/generic/294    |  2 +-
 tests/generic/357    |  2 +-
 tests/generic/362    |  3 ++-
 tests/generic/465    |  2 +-
 tests/generic/500    |  2 +-
 tests/generic/631    |  4 +++-
 tests/generic/679    |  2 +-
 tests/generic/699    |  3 ++-
 tests/generic/732    |  4 +++-
 tests/generic/740    |  7 ++++++-
 18 files changed, 42 insertions(+), 42 deletions(-)

diff --git a/common/rc b/common/rc
index 796d98e5cada..5ef5038a6d23 100644
--- a/common/rc
+++ b/common/rc
@@ -1766,30 +1766,16 @@ _fail()
     exit 1
 }
 
-# tests whether $FSTYP is one of the supported filesystems for a test
 #
-_check_supported_fs()
-{
-	local res=1
-	local f
-
-	for f; do
-		# ^FS means black listed fs
-		if [ "$f" = "^$FSTYP" ]; then
-			return 1
-		elif [ "$f" = "generic" ] || [[ "$f" == "^"* ]]; then
-			# ^FS implies "generic ^FS"
-			res=0
-		elif [ "$f" = "$FSTYP" ]; then
-			return 0
-		fi
-	done
-	return $res
-}
-
-_supported_fs()
+# Tests whether $FSTYP should be exclude from this test.
+#
+# In general this should be avoided in favor of feature tests, and when this
+# helper has to be used, it should include a comment on why a specific file
+# system is excluded.
+#
+_exclude_fs()
 {
-	_check_supported_fs $* || \
+	[ "$1" = "$FSTYP" ] && \
 		_notrun "not suitable for this filesystem type: $FSTYP"
 }
 
diff --git a/tests/ext-common/002 b/tests/ext-common/002
index 7b3d5918bde9..6c1e1d926973 100755
--- a/tests/ext-common/002
+++ b/tests/ext-common/002
@@ -29,7 +29,7 @@ _cleanup()
 # Import common functions.
 . ./common/filter
 
-_supported_fs ^ext2
+_exclude_fs ext2
 
 _require_scratch_nocheck
 _require_scratch_shutdown
diff --git a/tests/ext-common/036 b/tests/ext-common/036
index 729d842df6e7..4a1471fd4cb5 100755
--- a/tests/ext-common/036
+++ b/tests/ext-common/036
@@ -15,7 +15,8 @@ _begin_fstest auto quick
 # Import common functions.
 . ./common/filter
 
-_supported_fs ^ext2
+_exclude_fs ext2
+
 _require_scratch
 
 echo "Silence is golden"
diff --git a/tests/ext-common/037 b/tests/ext-common/037
index 3f2232f0de60..dea02a79927a 100755
--- a/tests/ext-common/037
+++ b/tests/ext-common/037
@@ -15,7 +15,7 @@ _begin_fstest auto quick
 # Import common functions.
 . ./common/filter
 
-_supported_fs ^ext2
+_exclude_fs ext2
 
 # nofsck as we modify sb via debugfs
 _require_scratch_nocheck
diff --git a/tests/ext-common/038 b/tests/ext-common/038
index 09d3b10bdcf2..07b090b11f13 100755
--- a/tests/ext-common/038
+++ b/tests/ext-common/038
@@ -10,9 +10,8 @@
 . ./common/preamble
 _begin_fstest auto quick
 
-# Import common functions.
+_exclude_fs ext2
 
-_supported_fs ^ext2
 _require_scratch
 _require_command "$DEBUGFS_PROG" debugfs
 
diff --git a/tests/ext-common/039 b/tests/ext-common/039
index be766668df60..2e99c8ff9ffd 100755
--- a/tests/ext-common/039
+++ b/tests/ext-common/039
@@ -56,7 +56,8 @@ chattr_opt: $chattr_opt" >>$seqres.full
 	done
 }
 
-_supported_fs ^ext2
+_exclude_fs ext2
+
 _require_scratch
 _exclude_scratch_mount_option dax
 
diff --git a/tests/ext-common/043 b/tests/ext-common/043
index cf0bef4e7407..8d124ba36f72 100755
--- a/tests/ext-common/043
+++ b/tests/ext-common/043
@@ -12,7 +12,7 @@ _begin_fstest auto quick
 # Import common functions.
 . ./common/filter
 
-_supported_fs ^ext2
+_exclude_fs ext2
 
 _require_scratch
 _require_test_program "t_get_file_time"
diff --git a/tests/generic/187 b/tests/generic/187
index 2a06aff35e58..536ce9fa9ab8 100755
--- a/tests/generic/187
+++ b/tests/generic/187
@@ -28,10 +28,12 @@ _cleanup()
 . ./common/filter
 . ./common/reflink
 
+# btrfs can't fragment free space.
+_exclude_fs btrfs
+
+# This test is unreliable on NFS, as it depends on the exported filesystem.
+_exclude_fs nfs
 
-# btrfs can't fragment free space. This test is unreliable on NFS, as it
-# depends on the exported filesystem.
-_supported_fs ^btrfs ^nfs
 _require_scratch_reflink
 _require_cp_reflink
 _require_xfs_io_command "falloc"
diff --git a/tests/generic/294 b/tests/generic/294
index 54b89a26294f..b07459116371 100755
--- a/tests/generic/294
+++ b/tests/generic/294
@@ -16,7 +16,7 @@ _begin_fstest auto quick
 
 # NFS will optimize away the on-the-wire lookup before attempting to
 # create a new file (since that means an extra round trip).
-_supported_fs ^nfs
+_exclude_fs nfs
 
 _require_scratch
 _require_symlinks
diff --git a/tests/generic/357 b/tests/generic/357
index 8db31f8b0432..51c6d5efd2d7 100755
--- a/tests/generic/357
+++ b/tests/generic/357
@@ -26,7 +26,7 @@ _cleanup()
 
 # For NFS, a reflink is just a CLONE operation, and after that
 # point it's dealt with by the server.
-_supported_fs ^nfs
+_exclude_fs nfs
 
 _require_scratch_swapfile
 _require_scratch_reflink
diff --git a/tests/generic/362 b/tests/generic/362
index 2396ec7d3a57..3a1993e81d4b 100755
--- a/tests/generic/362
+++ b/tests/generic/362
@@ -11,7 +11,8 @@
 _begin_fstest auto quick
 
 # NFS forbade open with O_APPEND|O_DIRECT
-_supported_fs ^nfs
+_exclude_fs nfs
+
 _require_test
 _require_odirect
 _require_test_program dio-append-buf-fault
diff --git a/tests/generic/465 b/tests/generic/465
index f8c4ea9671a2..5b49040e3ad0 100755
--- a/tests/generic/465
+++ b/tests/generic/465
@@ -20,7 +20,7 @@ _cleanup()
 # Import common functions.
 . ./common/filter
 
-_supported_fs ^nfs
+_exclude_fs nfs
 
 _require_aiodio aio-dio-append-write-read-race
 _require_test_program "feature"
diff --git a/tests/generic/500 b/tests/generic/500
index ba6e902ec96b..c5492a09246c 100755
--- a/tests/generic/500
+++ b/tests/generic/500
@@ -41,7 +41,7 @@ _require_dm_target thin-pool
 # and since we've filled the thinp device it'll return EIO, which will make
 # btrfs flip read only, making it fail this test when it just won't work right
 # for us in the first place.
-_supported_fs ^btrfs
+_exclude_fs btrfs
 
 # Require underlying device support discard
 _scratch_mkfs >>$seqres.full 2>&1
diff --git a/tests/generic/631 b/tests/generic/631
index 642d47863987..8e2cf9c63b77 100755
--- a/tests/generic/631
+++ b/tests/generic/631
@@ -37,8 +37,10 @@ _cleanup()
 
 _require_scratch
 _require_attrs trusted
-_supported_fs ^overlay
+
+_exclude_fs overlay
 _require_extra_fs overlay
+
 _fixed_by_kernel_commit 6da1b4b1ab36 \
 	"xfs: fix an ABBA deadlock in xfs_rename"
 
diff --git a/tests/generic/679 b/tests/generic/679
index 4c74101c5834..741ddf21502f 100755
--- a/tests/generic/679
+++ b/tests/generic/679
@@ -23,7 +23,7 @@ _require_xfs_io_command "fiemap"
 #
 #   https://lore.kernel.org/linux-btrfs/20220315164011.GF8241@magnolia/
 #
-_supported_fs ^xfs
+_exclude_fs xfs
 
 rm -f $seqres.full
 
diff --git a/tests/generic/699 b/tests/generic/699
index 3079a861df74..620a40aa3921 100755
--- a/tests/generic/699
+++ b/tests/generic/699
@@ -21,8 +21,9 @@ _cleanup()
 	rm -r -f $tmp.*
 }
 
-_supported_fs ^overlay
+_exclude_fs overlay
 _require_extra_fs overlay
+
 _require_scratch
 _require_chown
 _require_idmapped_mounts
diff --git a/tests/generic/732 b/tests/generic/732
index e907a009fe16..83caa0bc915c 100755
--- a/tests/generic/732
+++ b/tests/generic/732
@@ -24,7 +24,9 @@ _cleanup()
 # This case give a assumption that the same mount options for
 # different mount point will share the same superblock, which won't
 # sucess for the follow fs.
-_supported_fs ^nfs ^overlay ^tmpfs
+_exclude_fs nfs
+_exclude_fs overlay
+_exclude_fs tmpfs
 
 _require_test
 _require_scratch
diff --git a/tests/generic/740 b/tests/generic/740
index 903e891db0fd..10817521cc93 100755
--- a/tests/generic/740
+++ b/tests/generic/740
@@ -14,7 +14,12 @@ _begin_fstest mkfs auto quick
 
 # a bunch of file systems don't support foreign fs detection
 # ext* do support it, but disable the feature when called non-interactively
-_supported_fs ^ext2 ^ext3 ^ext4 ^jfs ^ocfs2 ^udf
+_exclude_fs ext2
+_exclude_fs ext3
+_exclude_fs ext4
+_exclude_fs jfs
+_exclude_fs ocfs2
+_exclude_fs udf
 
 _require_block_device "${SCRATCH_DEV}"
 # not all the FS support zoned block device
-- 
2.45.2


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

* Re: remove _supported_fs
  2024-12-10  6:58 remove _supported_fs Christoph Hellwig
                   ` (3 preceding siblings ...)
  2024-12-10  6:58 ` [PATCH 4/4] replace _supported_fs with _exclude_fs Christoph Hellwig
@ 2024-12-10 13:00 ` Theodore Ts'o
  2024-12-10 16:08   ` Christoph Hellwig
  4 siblings, 1 reply; 11+ messages in thread
From: Theodore Ts'o @ 2024-12-10 13:00 UTC (permalink / raw)
  To: Christoph Hellwig; +Cc: Zorro Lang, Brian Foster, fstests, linux-ext4

On Tue, Dec 10, 2024 at 07:58:24AM +0100, Christoph Hellwig wrote:
> this series removes the remaining _supported_fs calls and replaces them
> with a new _exclude_fs call.
> 
> The first patch removes a _supported_fs for a relatively new test from
> Brian that fails on other file systems.  We should still run it so that
> people have a chance to fix the corruption, so I think this make sense.
> 
> Then the ext4 directory is split so that the shared extN tests have their
> own directory, and then it finally does the switch over now that now many
> _supported_fs calls are left.

Hmm, instead of doing this (would require hard-coding support for ext2
and ext3 file systems needing to use ext-common), why not just have
special-case code which causes ext2 and ext3 file systems to include
the ext4 group, and then we'll have _exclude_fs declaractions as
needed for ext2 and ext3?

After all, ext3 has been removed except for the very oldest LTS
kernels (and I dount anyone is actually testing ext3 using xfstests
these days), and ext2 is not used by most distributions (they use
CONFIG_EXT4_USE_EXT2) and the reason why we've kept it around is that
it's a realtively simple file system that still uses the more modern,
non-legacy vfs/mm interfaces.

So it might not be worth it to move a bunch of tests and creating a
new (somewhat ugly) group, ext4-common, IMO.

Cheers,

						- Ted

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

* Re: [PATCH 1/4] generic/363: remove _supported_fs xfs
  2024-12-10  6:58 ` [PATCH 1/4] generic/363: remove _supported_fs xfs Christoph Hellwig
@ 2024-12-10 13:15   ` Brian Foster
  0 siblings, 0 replies; 11+ messages in thread
From: Brian Foster @ 2024-12-10 13:15 UTC (permalink / raw)
  To: Christoph Hellwig; +Cc: Zorro Lang, fstests, linux-ext4

On Tue, Dec 10, 2024 at 07:58:25AM +0100, Christoph Hellwig wrote:
> Run this test for all file systems.  Just because they are broken doesn't
> mean that zeroing should not be tested.
> 
> Signed-off-by: Christoph Hellwig <hch@lst.de>
> ---
>  tests/generic/363 | 3 ---
>  1 file changed, 3 deletions(-)
> 
> diff --git a/tests/generic/363 b/tests/generic/363
> index 477c111ccb60..74226a458427 100755
> --- a/tests/generic/363
> +++ b/tests/generic/363
> @@ -13,9 +13,6 @@ _begin_fstest rw auto
>  
>  _require_test
>  
> -# currently only xfs performs enough zeroing to satisfy fsx
> -_supported_fs xfs
> -

IIRC pretty much every fs except for xfs failed this test when I wrote
it, so I didn't want to drop it on folks until I had a chance to look
into it. I had pending ext4 fixes which appear to have now been merged,
so on a quick test of -rc2 this now passes on ext4.

I haven't got to the others, but if it's particularly disruptive for
anybody I suppose it could still be excluded easy enough:

Reviewed-by: Brian Foster <bfoster@redhat.com>

>  # on failure, replace -q with -d to see post-eof writes in the dump output
>  run_fsx "-q -S 0 -e 1 -N 100000"
>  
> -- 
> 2.45.2
> 
> 


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

* Re: remove _supported_fs
  2024-12-10 13:00 ` remove _supported_fs Theodore Ts'o
@ 2024-12-10 16:08   ` Christoph Hellwig
  2024-12-19 17:02     ` Theodore Ts'o
  0 siblings, 1 reply; 11+ messages in thread
From: Christoph Hellwig @ 2024-12-10 16:08 UTC (permalink / raw)
  To: Theodore Ts'o
  Cc: Christoph Hellwig, Zorro Lang, Brian Foster, fstests, linux-ext4

On Tue, Dec 10, 2024 at 08:00:33AM -0500, Theodore Ts'o wrote:
> Hmm, instead of doing this (would require hard-coding support for ext2
> and ext3 file systems needing to use ext-common), why not just have
> special-case code which causes ext2 and ext3 file systems to include
> the ext4 group, and then we'll have _exclude_fs declaractions as
> needed for ext2 and ext3?

That's what the current tree does and what I want to get away from.
I think the diffstat alone makes it pretty clear that moving away
form that is a benefit, and it's also a lot easier to understand than
that ext2 and ext3 magically run ext4 tests.

> After all, ext3 has been removed except for the very oldest LTS
> kernels (and I dount anyone is actually testing ext3 using xfstests
> these days),

The tests also cover using ext4 as the ext3 driver.

> So it might not be worth it to move a bunch of tests and creating a
> new (somewhat ugly) group, ext4-common, IMO.

І'll let Jan speak up, but the only thing cleaner would be to drop
the ext2/3 coverage, but І don't think the extra group is too bad,
and certainly much better than what we currently have.


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

* Re: [PATCH 3/4] ext-common: create a new test directory for ext* common tests
  2024-12-10  6:58 ` [PATCH 3/4] ext-common: create a new test directory for ext* common tests Christoph Hellwig
@ 2024-12-18 15:59   ` Jan Kara
  2024-12-23  8:38     ` Christoph Hellwig
  0 siblings, 1 reply; 11+ messages in thread
From: Jan Kara @ 2024-12-18 15:59 UTC (permalink / raw)
  To: Christoph Hellwig; +Cc: Zorro Lang, Brian Foster, fstests, linux-ext4

On Tue 10-12-24 07:58:27, Christoph Hellwig wrote:
> Split the tests shared with ext2 and ext3 from the ext4 directory.
> This makes ext4 a normal file system specific directory and cuts down
> the number of _supported_fs calls to a little more than a handful
> for tests that can't run on ext2.
> 
> Signed-off-by: Christoph Hellwig <hch@lst.de>

So I went through all ext4 tests and I think:
  ext4/004 should work for all ext? types -> move to ext_common

  ext4/006 should work for all ext? types -> move to ext_common
  ext4/007 should work for all ext? types -> move to ext_common
  ext4/008 should work for all ext? types -> move to ext_common
  ext4/009 should work for all ext? types -> move to ext_common
  ext4/010 should work for all ext? types -> move to ext_common
  ext4/011 should work for all ext? types -> move to ext_common
  ext4/012 should work for all ext? types -> move to ext_common
  ext4/013 should work for all ext? types -> move to ext_common
  ext4/014 should work for all ext? types -> move to ext_common
  ext4/016 should work for all ext? types -> move to ext_common
    - but I've now noticed that the last ten call _scratch_mkfs_ext4
      instead of _scratch_mkfs so that would need fixing up. So maybe leave
      it as is for now
  ext4/017 should work for all ext3 & ext4 types -> move to ext_common
    - similar caveat with _scratch_mkfs_ext4
  ext4/018 should work for all ext? types -> move to ext_common
  ext4/019 should work for all ext? types -> move to ext_common
    - similar caveat with _scratch_mkfs_ext4

  ext4/022 should work for ext3 & ext4 -> move to ext_common
  ext4/023 should work for all ext? types -> move to ext_common

  ext4/044 should work for all ext? types -> move to ext_common

								Honza
-- 
Jan Kara <jack@suse.com>
SUSE Labs, CR

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

* Re: remove _supported_fs
  2024-12-10 16:08   ` Christoph Hellwig
@ 2024-12-19 17:02     ` Theodore Ts'o
  0 siblings, 0 replies; 11+ messages in thread
From: Theodore Ts'o @ 2024-12-19 17:02 UTC (permalink / raw)
  To: Christoph Hellwig; +Cc: Zorro Lang, Brian Foster, fstests, linux-ext4

On Tue, Dec 10, 2024 at 05:08:27PM +0100, Christoph Hellwig wrote:
> I think the diffstat alone makes it pretty clear that moving away
> form that is a benefit, and it's also a lot easier to understand than
> that ext2 and ext3 magically run ext4 tests.

We talked about this on the weekly ext4 video chat, and I think what
we'd think is actually cleaner is to have a single directory for all
ext2/ext3/ext4 tests, and then eventually, have feature-specific
guards which skip a test if a particular feature isn't supported by a
particular file system.

It's always been my position that ext2, ext3, and ext4 are effectively
the same file system from a conceptual perspective, with multiple
implementations that support different subsets of file system
features.  This includes /usr/src/linux/fs/ext2,
/usr/src/linux/fs/ext3 (before we removed it from more recent
rernels), /usr/src/linux/fs/ext4, HURD's implementation of ext2,
NetBSD/FreeBSD's implementation of ext2, etc.

So effectively, what I'm proposing is that we use xfstests/tests/ext4
effectively as "extN", which would be used when testing with
FSTYP=ext[234].

Yes, we'll need to do some cleanup to add feature guards (e.g.,
_require_metadata_journaling, and "_require_scratch_ext4_feature mmp")
instead of _exclude_fs ext2, but in the end, I think this will be
cleaner and easier to understand since we'll know exactly what the
test is testing.

Cheers,

						- Ted

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

* Re: [PATCH 3/4] ext-common: create a new test directory for ext* common tests
  2024-12-18 15:59   ` Jan Kara
@ 2024-12-23  8:38     ` Christoph Hellwig
  0 siblings, 0 replies; 11+ messages in thread
From: Christoph Hellwig @ 2024-12-23  8:38 UTC (permalink / raw)
  To: Jan Kara; +Cc: Christoph Hellwig, Zorro Lang, Brian Foster, fstests, linux-ext4

On Wed, Dec 18, 2024 at 04:59:47PM +0100, Jan Kara wrote:
> So I went through all ext4 tests and I think:

Most of these simply fail due to unsupported features on anything
but ext4.

ext4/022 actually runs on ext2 and ext3 and fails
ext4/023 actually runs on ext2 and ext3 and fails

ext4/044 runs everywhere, but always forces an ext3 file system anyway
which is a bit odd.


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

end of thread, other threads:[~2024-12-23  8:38 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-10  6:58 remove _supported_fs Christoph Hellwig
2024-12-10  6:58 ` [PATCH 1/4] generic/363: remove _supported_fs xfs Christoph Hellwig
2024-12-10 13:15   ` Brian Foster
2024-12-10  6:58 ` [PATCH 2/4] common: remove the $FSYP check in _cleanup_dump Christoph Hellwig
2024-12-10  6:58 ` [PATCH 3/4] ext-common: create a new test directory for ext* common tests Christoph Hellwig
2024-12-18 15:59   ` Jan Kara
2024-12-23  8:38     ` Christoph Hellwig
2024-12-10  6:58 ` [PATCH 4/4] replace _supported_fs with _exclude_fs Christoph Hellwig
2024-12-10 13:00 ` remove _supported_fs Theodore Ts'o
2024-12-10 16:08   ` Christoph Hellwig
2024-12-19 17:02     ` Theodore Ts'o

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).