common: remove _require_no_rtinherit
authorDarrick J. Wong <djwong@kernel.org>
Wed, 10 Feb 2021 02:57:06 +0000 (18:57 -0800)
committerEryu Guan <guaneryu@gmail.com>
Sun, 28 Feb 2021 13:23:19 +0000 (21:23 +0800)
All the remaining tests that use _require_no_rtinherit can be adapted to
ignore SCRATCH_RTDEV or to force files to be created on the data device.
This makes the helper unnecessary and increases test coverage, so remove
this helper.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Eryu Guan <guaneryu@gmail.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
common/rc
tests/xfs/205
tests/xfs/306
tests/xfs/318
tests/xfs/444

index 0ec7fe1..7254130 100644 (file)
--- a/common/rc
+++ b/common/rc
@@ -6,16 +6,6 @@
 
 BC=$(which bc 2> /dev/null) || BC=
 
-# Some tests are not relevant or functional when testing XFS realtime
-# subvolumes along with the rtinherit=1 mkfs option.  In these cases,
-# this test will opt-out of the test.
-_require_no_rtinherit()
-{
-       [ "$FSTYP" = "xfs" ] && echo "$MKFS_OPTIONS" |
-               egrep -q "rtinherit([^=]|=1|$)" && \
-               _notrun "rtinherit mkfs option is not supported by this test."
-}
-
 _require_math()
 {
        if [ -z "$BC" ]; then
index da022f1..1f7ce3d 100755 (executable)
@@ -23,10 +23,13 @@ _supported_fs xfs
 
 # single AG will cause xfs_repair to fail checks.
 _require_scratch_nocheck
-_require_no_rtinherit
 
 rm -f $seqres.full
 
+# Disable the scratch rt device to avoid test failures relating to the rt
+# bitmap consuming all the free space in our small data device.
+unset SCRATCH_RTDEV
+
 fsblksz=1024
 _scratch_mkfs_xfs -d size=$((32768*fsblksz)) -b size=$fsblksz >> $seqres.full 2>&1
 _scratch_mount
index e1993c0..e98eda4 100755 (executable)
@@ -34,12 +34,15 @@ _cleanup()
 _supported_fs xfs
 
 _require_scratch_nocheck       # check complains about single AG fs
-_require_no_rtinherit
 _require_xfs_io_command "fpunch"
 _require_command $UUIDGEN_PROG uuidgen
 
 rm -f $seqres.full
 
+# Disable the scratch rt device to avoid test failures relating to the rt
+# bitmap consuming all the free space in our small data device.
+unset SCRATCH_RTDEV
+
 # Create a small fs with a large directory block size. We want to fill up the fs
 # quickly and then create multi-fsb dirblocks over fragmented free space.
 _scratch_mkfs_xfs -d size=20m -n size=64k >> $seqres.full 2>&1
index 90771ad..07375b1 100755 (executable)
@@ -32,7 +32,6 @@ _supported_fs xfs
 _require_scratch
 _require_error_injection
 _require_xfs_io_error_injection "rmap_finish_one"
-_require_no_rtinherit
 
 rm -f $seqres.full
 
@@ -43,6 +42,10 @@ echo "Format filesystem"
 _scratch_mkfs >/dev/null 2>&1
 _scratch_mount >> $seqres.full
 
+# This test depends on specific behaviors of the data device, so create all
+# files on it.
+$XFS_IO_PROG -c 'chattr -t' $SCRATCH_MNT
+
 echo "Create files"
 touch $SCRATCH_MNT/file1
 
index f103b79..e4c987f 100755 (executable)
@@ -39,11 +39,15 @@ _require_scratch
 _require_test_program "punch-alternating"
 _require_xfs_io_command "falloc"
 _require_xfs_db_write_array
-_require_no_rtinherit
 
 # This is only a v5 filesystem problem
 _require_scratch_xfs_crc
 
+# Disable the scratch rt device to avoid test failures relating to the rt
+# bitmap consuming free space in our small data device and throwing off the
+# filestreams allocator.
+unset SCRATCH_RTDEV
+
 mount_loop() {
        if ! _try_scratch_mount >> $seqres.full 2>&1; then
                echo "scratch mount failed" >> $seqres.full