Re: [PATCH v2 1/3] xfs/realtime: Add require_no_realtime function

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Darrick J. Wong <darrick.wong@xxxxxxxxxx> wrote:

On Mon, Sep 25, 2017 at 12:56:23PM -0700, Richard Wareing wrote:
Some tests do not play well with realtime devices, in an effort to
produce a stable set of test which exercise the realtime code paths
we introduce a _require_no_realtime function to allow tests to opt
out of realtime subvolume test runs.

Signed-off-by: Richard Wareing <rwareing@xxxxxx>
---
Changes since v1:
* None

 common/rc                      | 8 ++++++++
 tests/generic/409              | 1 +
 tests/generic/410              | 1 +

Why don't shared subtree tests work w/ rt?


409, 410 decide to mount without the -o rtdev, option.  The fix
here could be trivial, or more involved I'm not really sure.



tests/generic/411              | 1 +

Some sort of mount regression?


Same as 409/410.

tests/xfs/077                  | 1 +

Uses xfs_copy which does not have realtime support.

 tests/xfs/189                  | 1 +

Bails with "noattr2 mount option not supported on /dev/loop32".
Possibly a trivial fix?

 tests/xfs/191-input-validation | 1 +

Fails with:
 QA output created by 191-input-validation
 silence is golden
+pass -b size=512 -l sectsize=1024 /dev/loop32
+fail -d size=4294967296 /dev/loop32
+fail -d agsize=1g /dev/loop32
+fail -l size=419430400 -d size=4294967296 /dev/loop32
+pass -n ftype=0 /dev/loop32

This test makes my eyes bleed, hoping somebody with more context on
this test can point me in the right direction here.


 tests/xfs/202                  | 1 +

Upon further inspection, this fails because it assumes your
scratch device is >1GB.  Though it should probably throw a nice
error indicating your scratch device isn't large enough.

 tests/xfs/284                  | 1 +

Uses xfs_copy which does not support realtime.


This test checks that xfsprogs don't run on a mounted fs.  Why would
that be excluded from rt testing?

Since there's only 8 tests on your list, I'm curious why each of them
gets disabled for rt filesystems?


Aside from the tests using xfs_copy, I can probably add RT support
to most of these tests, but I figured the first step was to first
get to a  stable set of working tests for realtime.

Richard



--D

9 files changed, 16 insertions(+)

diff --git a/common/rc b/common/rc
index 53bbb11..a0081f1 100644
--- a/common/rc
+++ b/common/rc
@@ -1835,6 +1835,14 @@ _require_realtime()
 	_notrun "Realtime device required, skipped this test"
 }

+# This test requires that a realtime subvolume is not in use
+#
+_require_no_realtime()
+{
+    [ -n "$SCRATCH_RTDEV" ] && \
+ _notrun "Test not compatible with realtime subvolumes, skipped this test"
+}
+
 # this test requires that a specified command (executable) exists
 # $1 - command, $2 - name for error message
 #
diff --git a/tests/generic/409 b/tests/generic/409
index 3ad65c9..8ed3e4e 100755
--- a/tests/generic/409
+++ b/tests/generic/409
@@ -65,6 +65,7 @@ _supported_os Linux
 _require_test
 _require_scratch
 _require_local_device $SCRATCH_DEV
+_require_no_realtime

 fs_stress()
 {
diff --git a/tests/generic/410 b/tests/generic/410
index 63ab716..1bbaff8 100755
--- a/tests/generic/410
+++ b/tests/generic/410
@@ -73,6 +73,7 @@ _supported_os Linux
 _require_test
 _require_scratch
 _require_local_device $SCRATCH_DEV
+_require_no_realtime

 fs_stress()
 {
diff --git a/tests/generic/411 b/tests/generic/411
index 83f6d26..ea718fc 100755
--- a/tests/generic/411
+++ b/tests/generic/411
@@ -54,6 +54,7 @@ _supported_os Linux
 _require_test
 _require_scratch
 _require_local_device $SCRATCH_DEV
+_require_no_realtime

 fs_stress()
 {
diff --git a/tests/xfs/077 b/tests/xfs/077
index eba4f08..d202fa4 100755
--- a/tests/xfs/077
+++ b/tests/xfs/077
@@ -50,6 +50,7 @@ _cleanup()

 _supported_fs xfs
 _supported_os Linux
+_require_no_realtime
 _require_scratch
 _require_xfs_crc
 _require_meta_uuid
diff --git a/tests/xfs/189 b/tests/xfs/189
index 636f6f0..699eb3c 100755
--- a/tests/xfs/189
+++ b/tests/xfs/189
@@ -236,6 +236,7 @@ _putback_scratch_fstab()
 _supported_fs xfs
 _supported_os Linux

+_require_no_realtime
 _require_scratch
 _require_noattr2

diff --git a/tests/xfs/191-input-validation b/tests/xfs/191-input-validation
index cff3efa..764ac9b 100755
--- a/tests/xfs/191-input-validation
+++ b/tests/xfs/191-input-validation
@@ -47,6 +47,7 @@ _cleanup()
 # Modify as appropriate.
 _supported_fs xfs
 _supported_os Linux
+_require_no_realtime
 _require_scratch
 _require_xfs_mkfs_validation

diff --git a/tests/xfs/202 b/tests/xfs/202
index b9827a7..f887873 100755
--- a/tests/xfs/202
+++ b/tests/xfs/202
@@ -38,6 +38,7 @@ status=1	# failure is the default!
 _supported_fs xfs
 _supported_os Linux

+_require_no_realtime
 # single AG will cause default xfs_repair to fail. This test is actually
 # testing the special corner case option needed to repair a single AG fs.
 _require_scratch_nocheck
diff --git a/tests/xfs/284 b/tests/xfs/284
index e3625fe..fa5dac8 100755
--- a/tests/xfs/284
+++ b/tests/xfs/284
@@ -49,6 +49,7 @@ rm -f $seqres.full
 # real QA test starts here
 _supported_fs xfs
 _supported_os Linux
+_require_no_realtime
 _require_test
 _require_scratch

--
2.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


--
To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux