aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTheodore Ts'o <tytso@mit.edu>2022-07-04 09:11:41 -0400
committerTheodore Ts'o <tytso@mit.edu>2022-07-04 09:11:41 -0400
commitc68378560a6c1647038246734d2a14ce66361664 (patch)
tree3fad51a58da8141cdf50bc2040656a4140688278
parent7fd7c21547a1d1373a7b9afd323a2dda11554542 (diff)
downloadxfstests-bld-c68378560a6c1647038246734d2a14ce66361664.tar.gz
test-appliance: factor out dax group exclusions to the global_exclude file
Teach runtests.sh to #define IS_DAX if the test config is named "dax", and use this so if IS_DAX_CONFIG is not defined, to exclude all tests in the dax group. This allows us to centralize all of the dax exclusions into the global_exclude file, simplifying (and in many cases, removing) test-case specific exclude files. In addition, use the cpp #include statement to simplify the exclude files for ext4/encrypt_1k and ext4/orphan_file_1k. Signed-off-by: Theodore Ts'o <tytso@mit.edu>
-rw-r--r--test-appliance/files/root/fs/btrfs/cfg/4k.exclude2
-rw-r--r--test-appliance/files/root/fs/btrfs/cfg/64k.exclude2
-rw-r--r--test-appliance/files/root/fs/ext4/cfg/1k.exclude5
-rw-r--r--test-appliance/files/root/fs/ext4/cfg/2k.exclude5
-rw-r--r--test-appliance/files/root/fs/ext4/cfg/4k.exclude2
-rw-r--r--test-appliance/files/root/fs/ext4/cfg/64k.exclude2
-rw-r--r--test-appliance/files/root/fs/ext4/cfg/adv.exclude5
-rw-r--r--test-appliance/files/root/fs/ext4/cfg/adv2.exclude5
-rw-r--r--test-appliance/files/root/fs/ext4/cfg/bigalloc.exclude5
-rw-r--r--test-appliance/files/root/fs/ext4/cfg/bigalloc_1k.exclude5
-rw-r--r--test-appliance/files/root/fs/ext4/cfg/bigalloc_inline.exclude5
-rw-r--r--test-appliance/files/root/fs/ext4/cfg/data_journal.exclude5
-rw-r--r--test-appliance/files/root/fs/ext4/cfg/dioread_nolock.exclude5
-rw-r--r--test-appliance/files/root/fs/ext4/cfg/dioread_nolock_1k.exclude5
-rw-r--r--test-appliance/files/root/fs/ext4/cfg/discard-4k.exclude2
-rw-r--r--test-appliance/files/root/fs/ext4/cfg/ea_inode.exclude5
-rw-r--r--test-appliance/files/root/fs/ext4/cfg/ea_inode_1k.exclude5
-rw-r--r--test-appliance/files/root/fs/ext4/cfg/encrypt.exclude5
-rw-r--r--test-appliance/files/root/fs/ext4/cfg/encrypt_1k.exclude39
-rw-r--r--test-appliance/files/root/fs/ext4/cfg/ext3.exclude7
-rw-r--r--test-appliance/files/root/fs/ext4/cfg/ext3conv.exclude5
-rw-r--r--test-appliance/files/root/fs/ext4/cfg/fast_commit.exclude5
-rw-r--r--test-appliance/files/root/fs/ext4/cfg/fast_commit_1k.exclude5
-rw-r--r--test-appliance/files/root/fs/ext4/cfg/huge_bigalloc.exclude5
-rw-r--r--test-appliance/files/root/fs/ext4/cfg/huge_encrypt.exclude5
-rw-r--r--test-appliance/files/root/fs/ext4/cfg/inline.exclude5
-rw-r--r--test-appliance/files/root/fs/ext4/cfg/inline_1k.exclude5
-rw-r--r--test-appliance/files/root/fs/ext4/cfg/largedir.exclude5
-rw-r--r--test-appliance/files/root/fs/ext4/cfg/logdev.exclude2
-rw-r--r--test-appliance/files/root/fs/ext4/cfg/lustre_mds.exclude5
-rw-r--r--test-appliance/files/root/fs/ext4/cfg/nojournal.exclude5
-rw-r--r--test-appliance/files/root/fs/ext4/cfg/orphan_file.exclude5
-rw-r--r--test-appliance/files/root/fs/ext4/cfg/orphan_file_1k.exclude21
-rw-r--r--test-appliance/files/root/fs/f2fs/cfg/default.exclude2
-rw-r--r--test-appliance/files/root/fs/f2fs/cfg/encrypt.exclude2
-rw-r--r--test-appliance/files/root/fs/global_exclude5
-rw-r--r--test-appliance/files/root/fs/nfs/cfg/client_v3.exclude5
-rw-r--r--test-appliance/files/root/fs/nfs/cfg/client_v4.exclude5
-rw-r--r--test-appliance/files/root/fs/xfs/cfg/1k.exclude2
-rw-r--r--test-appliance/files/root/fs/xfs/cfg/4k.exclude2
-rw-r--r--test-appliance/files/root/fs/xfs/cfg/64k.exclude2
-rw-r--r--test-appliance/files/root/fs/xfs/cfg/adv.exclude2
-rw-r--r--test-appliance/files/root/fs/xfs/cfg/dirblock_8k.exclude2
-rw-r--r--test-appliance/files/root/fs/xfs/cfg/logdev.exclude2
-rw-r--r--test-appliance/files/root/fs/xfs/cfg/quota.exclude2
-rw-r--r--test-appliance/files/root/fs/xfs/cfg/quota_1k.exclude2
-rw-r--r--test-appliance/files/root/fs/xfs/cfg/realtime.exclude3
l---------[-rw-r--r--]test-appliance/files/root/fs/xfs/cfg/realtime_28k_logdev.exclude8
l---------[-rw-r--r--]test-appliance/files/root/fs/xfs/cfg/realtime_logdev.exclude8
-rw-r--r--test-appliance/files/root/fs/xfs/cfg/v4.exclude3
-rwxr-xr-xtest-appliance/files/root/runtests.sh4
51 files changed, 77 insertions, 183 deletions
diff --git a/test-appliance/files/root/fs/btrfs/cfg/4k.exclude b/test-appliance/files/root/fs/btrfs/cfg/4k.exclude
deleted file mode 100644
index 44253a20..00000000
--- a/test-appliance/files/root/fs/btrfs/cfg/4k.exclude
+++ /dev/null
@@ -1,2 +0,0 @@
-// Normal configurations don't support dax
--g dax
diff --git a/test-appliance/files/root/fs/btrfs/cfg/64k.exclude b/test-appliance/files/root/fs/btrfs/cfg/64k.exclude
deleted file mode 100644
index 44253a20..00000000
--- a/test-appliance/files/root/fs/btrfs/cfg/64k.exclude
+++ /dev/null
@@ -1,2 +0,0 @@
-// Normal configurations don't support dax
--g dax
diff --git a/test-appliance/files/root/fs/ext4/cfg/1k.exclude b/test-appliance/files/root/fs/ext4/cfg/1k.exclude
index f3d30bbf..a72fee53 100644
--- a/test-appliance/files/root/fs/ext4/cfg/1k.exclude
+++ b/test-appliance/files/root/fs/ext4/cfg/1k.exclude
@@ -1,3 +1,5 @@
+// exclude file for ext4/1k
+
// The test fails due to too many block group descriptors when the
// block size is 1k
ext4/033
@@ -15,6 +17,3 @@ generic/273
// This test creates too many extended attributes to fit in a 1k block
generic/454
-
-// Normal configurations don't support dax
--g dax
diff --git a/test-appliance/files/root/fs/ext4/cfg/2k.exclude b/test-appliance/files/root/fs/ext4/cfg/2k.exclude
index 41a03961..f2b1b79f 100644
--- a/test-appliance/files/root/fs/ext4/cfg/2k.exclude
+++ b/test-appliance/files/root/fs/ext4/cfg/2k.exclude
@@ -1,9 +1,8 @@
+// exclude file for ext4/2k
+
// This test creates too many inodes on when the block size is 1k
// without using special mkfs.ext4 options to change the inode size.
// This test is a bit bogus anyway, and uses a bunch of magic calculations
// where it's not clear what it was originally trying to test in the
// first place. So let's just skip it for now.
generic/273
-
-// Normal configurations don't support dax
--g dax
diff --git a/test-appliance/files/root/fs/ext4/cfg/4k.exclude b/test-appliance/files/root/fs/ext4/cfg/4k.exclude
deleted file mode 100644
index 44253a20..00000000
--- a/test-appliance/files/root/fs/ext4/cfg/4k.exclude
+++ /dev/null
@@ -1,2 +0,0 @@
-// Normal configurations don't support dax
--g dax
diff --git a/test-appliance/files/root/fs/ext4/cfg/64k.exclude b/test-appliance/files/root/fs/ext4/cfg/64k.exclude
deleted file mode 100644
index 44253a20..00000000
--- a/test-appliance/files/root/fs/ext4/cfg/64k.exclude
+++ /dev/null
@@ -1,2 +0,0 @@
-// Normal configurations don't support dax
--g dax
diff --git a/test-appliance/files/root/fs/ext4/cfg/adv.exclude b/test-appliance/files/root/fs/ext4/cfg/adv.exclude
index 432a954b..bb731ebe 100644
--- a/test-appliance/files/root/fs/ext4/cfg/adv.exclude
+++ b/test-appliance/files/root/fs/ext4/cfg/adv.exclude
@@ -1,3 +1,5 @@
+// exclude file for ext4/adv
+
ext4/004 // dump/restore doesn't handle inline data
// ext4/044 tries to mount the file system as ext3 explicitly. This will
@@ -7,6 +9,3 @@ ext4/044
// This takes a *long* time and doesn't add much value to run on all
// configurations. So we're going to be selective where we run it.
generic/027
-
-// Normal configurations don't support dax
--g dax
diff --git a/test-appliance/files/root/fs/ext4/cfg/adv2.exclude b/test-appliance/files/root/fs/ext4/cfg/adv2.exclude
index f3aac2db..9c1539b6 100644
--- a/test-appliance/files/root/fs/ext4/cfg/adv2.exclude
+++ b/test-appliance/files/root/fs/ext4/cfg/adv2.exclude
@@ -1,8 +1,7 @@
+// exclude file for ext4/adv2
+
ext4/004 // dump/restore doesn't handle inline data
// This takes a *long* time and doesn't add much value to run on all
// configurations. So we're going to be selective where we run it.
generic/027
-
-// Normal configurations don't support dax
--g dax
diff --git a/test-appliance/files/root/fs/ext4/cfg/bigalloc.exclude b/test-appliance/files/root/fs/ext4/cfg/bigalloc.exclude
index 785edb49..33c325a3 100644
--- a/test-appliance/files/root/fs/ext4/cfg/bigalloc.exclude
+++ b/test-appliance/files/root/fs/ext4/cfg/bigalloc.exclude
@@ -1,3 +1,5 @@
+// exclude file for ext4/bigalloc
+
ext4/004 // dump/restore doesn't handle the bigalloc feature
// ext4/033 creates a special file system using dmhugedisk to test for
@@ -39,6 +41,3 @@ generic/500
// EDQUOT failure didn't happen.
generic/681
generic/682
-
-// Normal configurations don't support dax
--g dax
diff --git a/test-appliance/files/root/fs/ext4/cfg/bigalloc_1k.exclude b/test-appliance/files/root/fs/ext4/cfg/bigalloc_1k.exclude
index a011c15f..368383ce 100644
--- a/test-appliance/files/root/fs/ext4/cfg/bigalloc_1k.exclude
+++ b/test-appliance/files/root/fs/ext4/cfg/bigalloc_1k.exclude
@@ -1,3 +1,5 @@
+// exclude file for ext4/bigalloc_1k
+
ext4/004 // dump/restore doesn't handle the bigalloc feature
// ext4/033 creates a special file system using dmhugedisk to test for
@@ -40,6 +42,3 @@ generic/500
// EDQUOT failure didn't happen.
generic/681
generic/682
-
-// Normal configurations don't support dax
--g dax
diff --git a/test-appliance/files/root/fs/ext4/cfg/bigalloc_inline.exclude b/test-appliance/files/root/fs/ext4/cfg/bigalloc_inline.exclude
index 5bbb1721..356ddb5d 100644
--- a/test-appliance/files/root/fs/ext4/cfg/bigalloc_inline.exclude
+++ b/test-appliance/files/root/fs/ext4/cfg/bigalloc_inline.exclude
@@ -1,3 +1,5 @@
+// exclude file for ext4/bigalloc_inline
+
ext4/004 // dump/restore doesn't handle the bigalloc feature
// ext4/033 creates a special file system using dmhugedisk to test for
@@ -9,6 +11,3 @@ ext4/033
// This takes a *long* time and doesn't add much value to run on all
// configurations. So we're going to be selective where we run it.
generic/027
-
-// Normal configurations don't support dax
--g dax
diff --git a/test-appliance/files/root/fs/ext4/cfg/data_journal.exclude b/test-appliance/files/root/fs/ext4/cfg/data_journal.exclude
index 130ce821..b1050c24 100644
--- a/test-appliance/files/root/fs/ext4/cfg/data_journal.exclude
+++ b/test-appliance/files/root/fs/ext4/cfg/data_journal.exclude
@@ -1,3 +1,5 @@
+// exclude file for ext4/data_journal
+
// This takes a *long* time and doesn't add much value to run on all
// configurations. So we're going to be selective where we run it.
generic/027
@@ -18,6 +20,3 @@ generic/537
// This test uses dioread_nolock which currently isn't supported with
// data=journal
ext4/034
-
-// Normal configurations don't support dax
--g dax
diff --git a/test-appliance/files/root/fs/ext4/cfg/dioread_nolock.exclude b/test-appliance/files/root/fs/ext4/cfg/dioread_nolock.exclude
index d8a01351..652c4ee1 100644
--- a/test-appliance/files/root/fs/ext4/cfg/dioread_nolock.exclude
+++ b/test-appliance/files/root/fs/ext4/cfg/dioread_nolock.exclude
@@ -1,3 +1,5 @@
+// exclude file for ext4/dioread_nolock
+
// ext4/044 tries to mount the file system as ext3 explicitly, but
// since we pass dioread_nolock, this test will fail.
ext4/044
@@ -5,6 +7,3 @@ ext4/044
// This takes a *long* time and doesn't add much value to run on all
// configurations. So we're going to be selective where we run it.
generic/027
-
-// Normal configurations don't support dax
--g dax
diff --git a/test-appliance/files/root/fs/ext4/cfg/dioread_nolock_1k.exclude b/test-appliance/files/root/fs/ext4/cfg/dioread_nolock_1k.exclude
index cca51d92..045fda86 100644
--- a/test-appliance/files/root/fs/ext4/cfg/dioread_nolock_1k.exclude
+++ b/test-appliance/files/root/fs/ext4/cfg/dioread_nolock_1k.exclude
@@ -1,3 +1,5 @@
+// exclude file for ext4/dioread_nolock_1k
+
// This takes a *long* time and doesn't add much value to run on all
// configurations. So we're going to be selective where we run it.
generic/027
@@ -11,6 +13,3 @@ generic/273
// This test creates too many extended attributes to fit in a 1k block
generic/454
-
-// Normal configurations don't support dax
--g dax
diff --git a/test-appliance/files/root/fs/ext4/cfg/discard-4k.exclude b/test-appliance/files/root/fs/ext4/cfg/discard-4k.exclude
deleted file mode 100644
index 44253a20..00000000
--- a/test-appliance/files/root/fs/ext4/cfg/discard-4k.exclude
+++ /dev/null
@@ -1,2 +0,0 @@
-// Normal configurations don't support dax
--g dax
diff --git a/test-appliance/files/root/fs/ext4/cfg/ea_inode.exclude b/test-appliance/files/root/fs/ext4/cfg/ea_inode.exclude
index 759d2432..1183fa35 100644
--- a/test-appliance/files/root/fs/ext4/cfg/ea_inode.exclude
+++ b/test-appliance/files/root/fs/ext4/cfg/ea_inode.exclude
@@ -1,4 +1,3 @@
-ext4/004 // dump/restore doesn't handle the ea_inode feature
+// exclude file for ext4/ea_inode
-// Normal configurations don't support dax
--g dax
+ext4/004 // dump/restore doesn't handle the ea_inode feature
diff --git a/test-appliance/files/root/fs/ext4/cfg/ea_inode_1k.exclude b/test-appliance/files/root/fs/ext4/cfg/ea_inode_1k.exclude
index 5bf05749..931fe1e4 100644
--- a/test-appliance/files/root/fs/ext4/cfg/ea_inode_1k.exclude
+++ b/test-appliance/files/root/fs/ext4/cfg/ea_inode_1k.exclude
@@ -1,3 +1,5 @@
+// exclude file for ext4/ea_inode_1k
+
ext4/004 // dump/restore doesn't handle the ea_inode feature
// This test creates too many inodes on when the block size is 1k
@@ -6,6 +8,3 @@ ext4/004 // dump/restore doesn't handle the ea_inode feature
// where it's not clear what it was originally trying to test in the
// first place. So let's just skip it for now.
generic/273
-
-// Normal configurations don't support dax
--g dax
diff --git a/test-appliance/files/root/fs/ext4/cfg/encrypt.exclude b/test-appliance/files/root/fs/ext4/cfg/encrypt.exclude
index 695517de..7d768fe3 100644
--- a/test-appliance/files/root/fs/ext4/cfg/encrypt.exclude
+++ b/test-appliance/files/root/fs/ext4/cfg/encrypt.exclude
@@ -1,3 +1,5 @@
+// exclude file for ext4/encrypt
+
ext4/004 // dump/restore doesn't handle quotas
// These tests try to create extended attributes which are
@@ -39,6 +41,3 @@ generic/601
// anticipate the external extended attribute required when
// using a 1k block size
generic/204
-
-// Normal configurations don't support dax
--g dax
diff --git a/test-appliance/files/root/fs/ext4/cfg/encrypt_1k.exclude b/test-appliance/files/root/fs/ext4/cfg/encrypt_1k.exclude
index ea52979e..f95901af 100644
--- a/test-appliance/files/root/fs/ext4/cfg/encrypt_1k.exclude
+++ b/test-appliance/files/root/fs/ext4/cfg/encrypt_1k.exclude
@@ -1,33 +1,10 @@
-// These tests are also excluded in encrypt.exclude.
-// See there for the reasons.
-//
-// Due to the 1k block size, ext4/023 and ext4/028 also fail for a second reason:
-// they use _scratch_populate_cached() which tries to create a 1023-byte symlink,
-// which fails with encrypt_1k because encrypted symlinks are limited to
-// blocksize-3 bytes, not blocksize-1 as is the case for no encryption.
-ext4/004
-ext4/022
-ext4/023
-ext4/026
-ext4/028
-generic/082
-generic/219
-generic/230
-generic/231
-generic/232
-generic/233
-generic/235
-generic/270
-generic/382
-generic/204
-generic/587
-generic/600
-generic/601
+// exclude file for ext4/encrypt_1k
-// These tests are also excluded in 1k.exclude.
-// See there for the reasons.
-generic/273
-generic/454
+// n.b. Due to the 1k block size, ext4/023 and ext4/028 also fail for a
+// second reason: they use _scratch_populate_cached() which tries to
+// create a 1023-byte symlink, which fails with encrypt_1k because
+// encrypted symlinks are limited to blocksize-3 bytes, not
+// blocksize-1 as is the case for no encryption.
+#include "encrypt.exclude"
-// Normal configurations don't support dax
--g dax
+#include "1k.exclude"
diff --git a/test-appliance/files/root/fs/ext4/cfg/ext3.exclude b/test-appliance/files/root/fs/ext4/cfg/ext3.exclude
index b79dc439..4a49753b 100644
--- a/test-appliance/files/root/fs/ext4/cfg/ext3.exclude
+++ b/test-appliance/files/root/fs/ext4/cfg/ext3.exclude
@@ -1,3 +1,5 @@
+// exclude file for ext4/ext3
+
// ext4/023 tests the populate function which needs to require files with
// extents. This doesn't work with ext3, naturally.
ext4/023
@@ -31,7 +33,7 @@ generic/620
// The generic/635 test tries to call the shutdown ioctl with the
// LOGFLUSH flag, which unfortunately will does not work well with
-// nodelalloc mount option (which the conv configuration uses).
+// nodelalloc mount option (which the ext3 configuration uses).
// This is because once we are in shutdown state, any attempt to write
// an inode fails with an EIO --- but this means that the data=ordered
// writeback will fail with an EIO and this causes the LOGFLUSH commit
@@ -41,6 +43,3 @@ generic/620
// data=ordered writeback entirely, so let's just exclude this test for
// now.
generic/635
-
-// Normal configurations don't support dax
--g dax
diff --git a/test-appliance/files/root/fs/ext4/cfg/ext3conv.exclude b/test-appliance/files/root/fs/ext4/cfg/ext3conv.exclude
index 7aca315e..8a5e7c8e 100644
--- a/test-appliance/files/root/fs/ext4/cfg/ext3conv.exclude
+++ b/test-appliance/files/root/fs/ext4/cfg/ext3conv.exclude
@@ -1,3 +1,5 @@
+// exclude file for ext4/ext3conv
+
// ext4/044 tries to mount the file system as ext3 explicitly, but
// since we pass nodelalloc, this test will fail.
ext4/044
@@ -18,6 +20,3 @@ generic/027
// data=ordered writeback entirely, so let's just exclude this test for
// now.
generic/635
-
-// Normal configurations don't support dax
--g dax
diff --git a/test-appliance/files/root/fs/ext4/cfg/fast_commit.exclude b/test-appliance/files/root/fs/ext4/cfg/fast_commit.exclude
index d6eabe50..f9473bb1 100644
--- a/test-appliance/files/root/fs/ext4/cfg/fast_commit.exclude
+++ b/test-appliance/files/root/fs/ext4/cfg/fast_commit.exclude
@@ -1,6 +1,5 @@
+// exclude file for ext4/fast_commit
+
// This takes a *long* time and doesn't add much value to run on all
// configurations. So we're going to be selective where we run it.
generic/027
-
-// Normal configurations don't support dax
--g dax
diff --git a/test-appliance/files/root/fs/ext4/cfg/fast_commit_1k.exclude b/test-appliance/files/root/fs/ext4/cfg/fast_commit_1k.exclude
index 2ad29466..226ff489 100644
--- a/test-appliance/files/root/fs/ext4/cfg/fast_commit_1k.exclude
+++ b/test-appliance/files/root/fs/ext4/cfg/fast_commit_1k.exclude
@@ -1,3 +1,5 @@
+// exclude file for ext4/fast_commit_1k
+
// This test tries to create 65536 directories, and with 1k blocks,
// and long names, we run out of htree depth
ext4/045
@@ -15,6 +17,3 @@ generic/273
// This test creates too many extended attributes to fit in a 1k block
generic/454
-
-// Normal configurations don't support dax
--g dax
diff --git a/test-appliance/files/root/fs/ext4/cfg/huge_bigalloc.exclude b/test-appliance/files/root/fs/ext4/cfg/huge_bigalloc.exclude
index e42fd89a..fe1a2f02 100644
--- a/test-appliance/files/root/fs/ext4/cfg/huge_bigalloc.exclude
+++ b/test-appliance/files/root/fs/ext4/cfg/huge_bigalloc.exclude
@@ -1,3 +1,5 @@
+// exclude file for ext4/huge_bigalloc
+
// bigalloc does not support on-line defrag
ext4/301
ext4/302
@@ -5,6 +7,3 @@ ext4/303
ext4/304
ext4/307
ext4/308
-
-// Normal configurations don't support dax
--g dax
diff --git a/test-appliance/files/root/fs/ext4/cfg/huge_encrypt.exclude b/test-appliance/files/root/fs/ext4/cfg/huge_encrypt.exclude
index 05242ed3..2b51b30e 100644
--- a/test-appliance/files/root/fs/ext4/cfg/huge_encrypt.exclude
+++ b/test-appliance/files/root/fs/ext4/cfg/huge_encrypt.exclude
@@ -1,3 +1,5 @@
+// exclude file for ext4/huge_encrypt
+
ext4/004 // dump/restore doesn't handle quotas
// encryption doesn't play well with quota
@@ -14,6 +16,3 @@ generic/270
// anticipate the external extended attribute required when
// using a 1k block size
generic/204
-
-// Normal configurations don't support dax
--g dax
diff --git a/test-appliance/files/root/fs/ext4/cfg/inline.exclude b/test-appliance/files/root/fs/ext4/cfg/inline.exclude
index f3aac2db..40aa3af6 100644
--- a/test-appliance/files/root/fs/ext4/cfg/inline.exclude
+++ b/test-appliance/files/root/fs/ext4/cfg/inline.exclude
@@ -1,8 +1,7 @@
+// exclude file for ext4/inline
+
ext4/004 // dump/restore doesn't handle inline data
// This takes a *long* time and doesn't add much value to run on all
// configurations. So we're going to be selective where we run it.
generic/027
-
-// Normal configurations don't support dax
--g dax
diff --git a/test-appliance/files/root/fs/ext4/cfg/inline_1k.exclude b/test-appliance/files/root/fs/ext4/cfg/inline_1k.exclude
index f3aac2db..2f5b302e 100644
--- a/test-appliance/files/root/fs/ext4/cfg/inline_1k.exclude
+++ b/test-appliance/files/root/fs/ext4/cfg/inline_1k.exclude
@@ -1,8 +1,7 @@
+// exclude file for ext4/inline_1k
+
ext4/004 // dump/restore doesn't handle inline data
// This takes a *long* time and doesn't add much value to run on all
// configurations. So we're going to be selective where we run it.
generic/027
-
-// Normal configurations don't support dax
--g dax
diff --git a/test-appliance/files/root/fs/ext4/cfg/largedir.exclude b/test-appliance/files/root/fs/ext4/cfg/largedir.exclude
index 942a4b56..aa287769 100644
--- a/test-appliance/files/root/fs/ext4/cfg/largedir.exclude
+++ b/test-appliance/files/root/fs/ext4/cfg/largedir.exclude
@@ -1,4 +1,3 @@
-ext4/004 // dump/restore doesn't handle the large_dir feature
+// exclude file for ext4/largedir
-// Normal configurations don't support dax
--g dax
+ext4/004 // dump/restore doesn't handle the large_dir feature
diff --git a/test-appliance/files/root/fs/ext4/cfg/logdev.exclude b/test-appliance/files/root/fs/ext4/cfg/logdev.exclude
deleted file mode 100644
index 44253a20..00000000
--- a/test-appliance/files/root/fs/ext4/cfg/logdev.exclude
+++ /dev/null
@@ -1,2 +0,0 @@
-// Normal configurations don't support dax
--g dax
diff --git a/test-appliance/files/root/fs/ext4/cfg/lustre_mds.exclude b/test-appliance/files/root/fs/ext4/cfg/lustre_mds.exclude
index 6675c4f3..557159a1 100644
--- a/test-appliance/files/root/fs/ext4/cfg/lustre_mds.exclude
+++ b/test-appliance/files/root/fs/ext4/cfg/lustre_mds.exclude
@@ -1,4 +1,3 @@
-ext4/004 // dump/restore doesn't handle largedir
+// exclude file for ext4/luster_mds
-// Normal configurations don't support dax
--g dax
+ext4/004 // dump/restore doesn't handle largedir
diff --git a/test-appliance/files/root/fs/ext4/cfg/nojournal.exclude b/test-appliance/files/root/fs/ext4/cfg/nojournal.exclude
index 5753409d..702a09a2 100644
--- a/test-appliance/files/root/fs/ext4/cfg/nojournal.exclude
+++ b/test-appliance/files/root/fs/ext4/cfg/nojournal.exclude
@@ -1,3 +1,5 @@
+// exclude file for ext4/nojournal
+
// Without a journal, tests for log state won't pass
generic/050
generic/052
@@ -8,6 +10,3 @@ generic/530
// This takes a *long* time and doesn't add much value to run on all
// configurations. So we're going to be selective where we run it.
generic/027
-
-// Normal configurations don't support dax
--g dax
diff --git a/test-appliance/files/root/fs/ext4/cfg/orphan_file.exclude b/test-appliance/files/root/fs/ext4/cfg/orphan_file.exclude
index d6eabe50..8b433647 100644
--- a/test-appliance/files/root/fs/ext4/cfg/orphan_file.exclude
+++ b/test-appliance/files/root/fs/ext4/cfg/orphan_file.exclude
@@ -1,6 +1,5 @@
+// exclude file for ext4/orphan_file
+
// This takes a *long* time and doesn't add much value to run on all
// configurations. So we're going to be selective where we run it.
generic/027
-
-// Normal configurations don't support dax
--g dax
diff --git a/test-appliance/files/root/fs/ext4/cfg/orphan_file_1k.exclude b/test-appliance/files/root/fs/ext4/cfg/orphan_file_1k.exclude
index 60263a0b..b7df514b 100644
--- a/test-appliance/files/root/fs/ext4/cfg/orphan_file_1k.exclude
+++ b/test-appliance/files/root/fs/ext4/cfg/orphan_file_1k.exclude
@@ -1,24 +1,7 @@
-// The test fails due to too many block group descriptors when the
-// block size is 1k
-ext4/033
+// exclude file for ext4/orphan_file_1k
-// This test tries to create 65536 directories, and with 1k blocks,
-// and long names, we run out of htree depth
-ext4/045
+#include "1k.exclude"
// This takes a *long* time and doesn't add much value to run on all
// configurations. So we're going to be selective where we run it.
generic/027
-
-// This test creates too many inodes on when the block size is 1k
-// without using special mkfs.ext4 options to change the inode size.
-// This test is a bit bogus anyway, and uses a bunch of magic calculations
-// where it's not clear what it was originally trying to test in the
-// first place. So let's just skip it for now.
-generic/273
-
-// This test creates too many extended attributes to fit in a 1k block
-generic/454
-
-// Normal configurations don't support dax
--g dax
diff --git a/test-appliance/files/root/fs/f2fs/cfg/default.exclude b/test-appliance/files/root/fs/f2fs/cfg/default.exclude
deleted file mode 100644
index 44253a20..00000000
--- a/test-appliance/files/root/fs/f2fs/cfg/default.exclude
+++ /dev/null
@@ -1,2 +0,0 @@
-// Normal configurations don't support dax
--g dax
diff --git a/test-appliance/files/root/fs/f2fs/cfg/encrypt.exclude b/test-appliance/files/root/fs/f2fs/cfg/encrypt.exclude
deleted file mode 100644
index 44253a20..00000000
--- a/test-appliance/files/root/fs/f2fs/cfg/encrypt.exclude
+++ /dev/null
@@ -1,2 +0,0 @@
-// Normal configurations don't support dax
--g dax
diff --git a/test-appliance/files/root/fs/global_exclude b/test-appliance/files/root/fs/global_exclude
index 09029bed..2dabc874 100644
--- a/test-appliance/files/root/fs/global_exclude
+++ b/test-appliance/files/root/fs/global_exclude
@@ -19,3 +19,8 @@ generic/554
// gone upstream. Suppress richacl tests to avoid a large number of
// "skipped test" noise.
-g richacl
+
+#ifndef IS_DAX_CONFIG
+// Unless we are testing the dax config, we can exclude all dax tests
+-g dax
+#endif
diff --git a/test-appliance/files/root/fs/nfs/cfg/client_v3.exclude b/test-appliance/files/root/fs/nfs/cfg/client_v3.exclude
index 0eb94334..544f03ba 100644
--- a/test-appliance/files/root/fs/nfs/cfg/client_v3.exclude
+++ b/test-appliance/files/root/fs/nfs/cfg/client_v3.exclude
@@ -1,9 +1,8 @@
+// exclude file for nfs/client_v3
+
// The following tests are listed as expected failures for NFSv3 per
// https://wiki.linux-nfs.org/wiki/index.php/Xfstests
generic/099
generic/258
generic/375
generic/444
-
-// Normal configurations don't support dax
--g dax
diff --git a/test-appliance/files/root/fs/nfs/cfg/client_v4.exclude b/test-appliance/files/root/fs/nfs/cfg/client_v4.exclude
index 5d2229b4..327b9554 100644
--- a/test-appliance/files/root/fs/nfs/cfg/client_v4.exclude
+++ b/test-appliance/files/root/fs/nfs/cfg/client_v4.exclude
@@ -1,6 +1,5 @@
+// exclude file for nfs/client_v4
+
// The following test is listed as expected failures for NFSv4 per
// https://wiki.linux-nfs.org/wiki/index.php/Xfstests
generic/426
-
-// Normal configurations don't support dax
--g dax
diff --git a/test-appliance/files/root/fs/xfs/cfg/1k.exclude b/test-appliance/files/root/fs/xfs/cfg/1k.exclude
deleted file mode 100644
index 44253a20..00000000
--- a/test-appliance/files/root/fs/xfs/cfg/1k.exclude
+++ /dev/null
@@ -1,2 +0,0 @@
-// Normal configurations don't support dax
--g dax
diff --git a/test-appliance/files/root/fs/xfs/cfg/4k.exclude b/test-appliance/files/root/fs/xfs/cfg/4k.exclude
deleted file mode 100644
index 44253a20..00000000
--- a/test-appliance/files/root/fs/xfs/cfg/4k.exclude
+++ /dev/null
@@ -1,2 +0,0 @@
-// Normal configurations don't support dax
--g dax
diff --git a/test-appliance/files/root/fs/xfs/cfg/64k.exclude b/test-appliance/files/root/fs/xfs/cfg/64k.exclude
deleted file mode 100644
index 44253a20..00000000
--- a/test-appliance/files/root/fs/xfs/cfg/64k.exclude
+++ /dev/null
@@ -1,2 +0,0 @@
-// Normal configurations don't support dax
--g dax
diff --git a/test-appliance/files/root/fs/xfs/cfg/adv.exclude b/test-appliance/files/root/fs/xfs/cfg/adv.exclude
deleted file mode 100644
index 44253a20..00000000
--- a/test-appliance/files/root/fs/xfs/cfg/adv.exclude
+++ /dev/null
@@ -1,2 +0,0 @@
-// Normal configurations don't support dax
--g dax
diff --git a/test-appliance/files/root/fs/xfs/cfg/dirblock_8k.exclude b/test-appliance/files/root/fs/xfs/cfg/dirblock_8k.exclude
deleted file mode 100644
index 44253a20..00000000
--- a/test-appliance/files/root/fs/xfs/cfg/dirblock_8k.exclude
+++ /dev/null
@@ -1,2 +0,0 @@
-// Normal configurations don't support dax
--g dax
diff --git a/test-appliance/files/root/fs/xfs/cfg/logdev.exclude b/test-appliance/files/root/fs/xfs/cfg/logdev.exclude
deleted file mode 100644
index 44253a20..00000000
--- a/test-appliance/files/root/fs/xfs/cfg/logdev.exclude
+++ /dev/null
@@ -1,2 +0,0 @@
-// Normal configurations don't support dax
--g dax
diff --git a/test-appliance/files/root/fs/xfs/cfg/quota.exclude b/test-appliance/files/root/fs/xfs/cfg/quota.exclude
deleted file mode 100644
index 44253a20..00000000
--- a/test-appliance/files/root/fs/xfs/cfg/quota.exclude
+++ /dev/null
@@ -1,2 +0,0 @@
-// Normal configurations don't support dax
--g dax
diff --git a/test-appliance/files/root/fs/xfs/cfg/quota_1k.exclude b/test-appliance/files/root/fs/xfs/cfg/quota_1k.exclude
deleted file mode 100644
index 44253a20..00000000
--- a/test-appliance/files/root/fs/xfs/cfg/quota_1k.exclude
+++ /dev/null
@@ -1,2 +0,0 @@
-// Normal configurations don't support dax
--g dax
diff --git a/test-appliance/files/root/fs/xfs/cfg/realtime.exclude b/test-appliance/files/root/fs/xfs/cfg/realtime.exclude
index a0feb426..00d27a11 100644
--- a/test-appliance/files/root/fs/xfs/cfg/realtime.exclude
+++ b/test-appliance/files/root/fs/xfs/cfg/realtime.exclude
@@ -1,5 +1,4 @@
-// Normal configurations don't support dax
--g dax
+// exclude file for xfs/realtime
// The xfs/076 test takes well over an hour (80 minutes using 100GB GCE
// PD/SSD) when run with an external realtime device, which triggers
diff --git a/test-appliance/files/root/fs/xfs/cfg/realtime_28k_logdev.exclude b/test-appliance/files/root/fs/xfs/cfg/realtime_28k_logdev.exclude
index a0feb426..66e127a1 100644..120000
--- a/test-appliance/files/root/fs/xfs/cfg/realtime_28k_logdev.exclude
+++ b/test-appliance/files/root/fs/xfs/cfg/realtime_28k_logdev.exclude
@@ -1,7 +1 @@
-// Normal configurations don't support dax
--g dax
-
-// The xfs/076 test takes well over an hour (80 minutes using 100GB GCE
-// PD/SSD) when run with an external realtime device, which triggers
-// the ltm "test is stalled" failsafe which aborts the VM.
-xfs/076
+realtime.exclude \ No newline at end of file
diff --git a/test-appliance/files/root/fs/xfs/cfg/realtime_logdev.exclude b/test-appliance/files/root/fs/xfs/cfg/realtime_logdev.exclude
index a0feb426..66e127a1 100644..120000
--- a/test-appliance/files/root/fs/xfs/cfg/realtime_logdev.exclude
+++ b/test-appliance/files/root/fs/xfs/cfg/realtime_logdev.exclude
@@ -1,7 +1 @@
-// Normal configurations don't support dax
--g dax
-
-// The xfs/076 test takes well over an hour (80 minutes using 100GB GCE
-// PD/SSD) when run with an external realtime device, which triggers
-// the ltm "test is stalled" failsafe which aborts the VM.
-xfs/076
+realtime.exclude \ No newline at end of file
diff --git a/test-appliance/files/root/fs/xfs/cfg/v4.exclude b/test-appliance/files/root/fs/xfs/cfg/v4.exclude
index 41de4e22..e029d3db 100644
--- a/test-appliance/files/root/fs/xfs/cfg/v4.exclude
+++ b/test-appliance/files/root/fs/xfs/cfg/v4.exclude
@@ -1,5 +1,4 @@
-// Normal configurations don't support dax
--g dax
+// exclude file for xfs/v4
// On a 5.15-rc4 kernel, xfs/170 reliably causes a soft lockup in
// xfs_alloc_read_agf()+0x41/0x110. Call stack:
diff --git a/test-appliance/files/root/runtests.sh b/test-appliance/files/root/runtests.sh
index f9bbea16..66dd99a7 100755
--- a/test-appliance/files/root/runtests.sh
+++ b/test-appliance/files/root/runtests.sh
@@ -75,6 +75,7 @@ gen_version_header ()
$(expr $version \* 65536 + $patchlevel \* 256 + $sublevel)
test -n "$FS" && echo \#define FC $FS
test -n "$TC" && echo \#define TC $TC
+ test "$TC" = dax && echo \#define IS_DAX_CONFIG
}
while [ "$1" != "" ]; do
@@ -507,7 +508,8 @@ do
fi
if test -s "/tmp/exclude.cpp" ; then
gen_version_header > /tmp/header.cpp
- cat /tmp/header.cpp /tmp/exclude.cpp | cpp | \
+ cat /tmp/header.cpp /tmp/exclude.cpp | \
+ cpp -I /root/fs/$FS/cfg | \
sed -e 's/#.*//' -e 's/[ \t]*$//' -e '/^$/d' \
> /tmp/exclude
fi