shared,ext4: move ext4-specific tests out of shared/
PATCH 1/5 shared,ext4: move ext4-specific tests out of shared/
The tests shared/{001,003,004,272} test behaviour around the ext4's journal. As such, they are pointless to run on ext2, and ext3 no longer is in kernels newer than 4.3. (And most enterprise distributions have been using ext4 to support the ext3 file system; that capability has been around since 2.6.33.) So we can move these tests out of shared and into the ext4 class of tests:
shared/001 --> ext4/036 shared/003 --> ext4/037 shared/004 --> ext4/038 shared/272 --> ext4/039
---
tests/{shared/001 => ext4/036} | 4 ++--
tests/ext4/036.out | 2 ++
tests/{shared/003 => ext4/037} | 4 +---
tests/ext4/037.out | 2 ++
tests/{shared/004 => ext4/038} | 2 +-
tests/ext4/038.out | 2 ++
tests/{shared/272 => ext4/039} | 2 +-
tests/{shared/272.out => ext4/039.out} | 2 +-
tests/ext4/group | 4 ++++
tests/shared/001.out | 2 --
tests/shared/003.out | 2 --
tests/shared/004.out | 2 --
tests/shared/group | 4 ----
13 files changed, 16 insertions(+), 18 deletions(-)
rename tests/{shared/001 => ext4/036} (92%)
create mode 100644 tests/ext4/036.out
rename tests/{shared/003 => ext4/037} (96%)
create mode 100644 tests/ext4/037.out
rename tests/{shared/004 => ext4/038} (96%)
create mode 100644 tests/ext4/038.out
rename tests/{shared/272 => ext4/039} (97%)
rename tests/{shared/272.out => ext4/039.out} (72%)
delete mode 100644 tests/shared/001.out
delete mode 100644 tests/shared/003.out
delete mode 100644 tests/shared/004.outtests/ext4/036 renamed from tests/shared/001 +2 -2
@@ -2,9 +2,9 @@ # SPDX-License-Identifier: GPL-2.0 # Copyright (c) 2015 Red Hat Inc. All Rights Reserved. # -# FS QA Test No. 001 +# FS QA Test No. ext4/036 (was shared/001) # -# Test truncate orphan inodes when mounting extN. +# Test truncate orphan inodes when mounting ext4 # ext4 used to hit WARNING, this commit fixed the issue # # 721e3eb ext4: lock i_mutex when truncating orphan inodes
tests/ext4/036.out new file +2 -0
@@ -0,0 +1,2 @@ +QA output created by 036 +Silence is golden
tests/ext4/037 renamed from tests/shared/003 +1 -3
@@ -2,15 +2,13 @@ # SPDX-License-Identifier: GPL-2.0 # Copyright (c) 2015 Red Hat Inc. All Rights Reserved. # -# FS QA Test 003 +# FS QA Test ext4/037 (was shared/003) # # Test mount a needs_recovery partition with noload option. # ext4 used to Oops until part of this commit: # # 744692d ext4: use ext4_get_block_write in buffer write # -# Also test on ext2/3. -# seq=`basename $0` seqres=$RESULT_DIR/$seq echo "QA output created by $seq"
tests/ext4/037.out new file +2 -0
@@ -0,0 +1,2 @@ +QA output created by 037 +Silence is golden
tests/ext4/038 renamed from tests/shared/004 +1 -1
@@ -2,7 +2,7 @@ # SPDX-License-Identifier: GPL-2.0 # Copyright (c) 2016 Fujitsu. All Rights Reserved. # -# FS QA Test 004 +# FS QA Test ext4/038 (was shared/004) # # Regression test for commit: # c9eb13a ext4: fix hang when processing corrupted orphaned inode list
tests/ext4/038.out new file +2 -0
@@ -0,0 +1,2 @@ +QA output created by 038 +Silence is golden
tests/ext4/039 renamed from tests/shared/272 +1 -1
@@ -2,7 +2,7 @@ # SPDX-License-Identifier: GPL-2.0 # Copyright (c) 2006 Silicon Graphics, Inc. All Rights Reserved. # -# FSQA Test No. 272 +# FSQA Test No. ext4/039 (was shared/272) # # Test data journaling flag switch for a single file #
tests/ext4/039.out renamed from tests/shared/272.out +1 -1
@@ -1,3 +1,3 @@ -QA output created by 272 +QA output created by 039 Switch data journalling mode. Silence is golden. Check filesystem
tests/ext4/group +4 -0
@@ -38,6 +38,10 @@ 033 auto ioctl resize 034 auto quick quota 035 auto quick resize +036 auto quick +037 auto quick +038 auto quick +039 auto enospc rw 271 auto rw quick 301 aio auto ioctl rw stress defrag 302 aio auto ioctl rw stress defrag
tests/shared/001.out deleted +0 -2
@@ -1,2 +0,0 @@ -QA output created by 001 -Silence is golden
tests/shared/003.out deleted +0 -2
@@ -1,2 +0,0 @@ -QA output created by 003 -Silence is golden
tests/shared/004.out deleted +0 -2
@@ -1,2 +0,0 @@ -QA output created by 004 -Silence is golden
tests/shared/group +0 -4
@@ -3,10 +3,7 @@ # - do not start group names with a digit # - comment line before each group is "new" description # -001 auto quick 002 auto metadata quick log -003 auto quick -004 auto quick 005 dangerous_fuzzers 006 auto enospc 007 dangerous_fuzzers
@@ -15,6 +12,5 @@ 010 auto stress dedupe 011 auto quick 032 mkfs auto quick -272 auto enospc rw 289 auto quick 298 auto trim
Signature · 1 line
2.22.0
PATCH 2/5 check: add ext4 group list when testing ext2 and ext3
Modern kernels use the ext4 implementation to support ext2 and ext3 mounts, and a number of the ext4 tests are actually suitable for ext2 and ext3. We're trying to move tests out of shared anyway, so instead of moving tests from ext4/NNN to shared, let's just include the ext4 group list when FSTYP is ext2 or ext3.
--- check | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
check +5 -1
@@ -130,6 +130,7 @@ get_group_list() local grp=$1 local grpl="" local sub=$(dirname $grp) + local fsgroup="$FSTYP" if [ -n "$sub" -a "$sub" != "." -a -d "$SRC_DIR/$sub" ]; then # group is given as <subdir>/<group> (e.g. xfs/quick)
@@ -138,7 +139,10 @@ get_group_list() return fi - for d in $SRC_GROUPS $FSTYP; do + if [ "$FSTYP" = ext2 -o "$FSTYP" = ext3 ]; then + fsgroup=ext4 + fi + for d in $SRC_GROUPS $fsgroup; do if ! test -d "$SRC_DIR/$d" ; then continue fi
Signature · 1 line
2.22.0
PATCH 3/5 shared,ext4: move ext[234]-specific tests out of shared/
In reply to Theodore Ts'oMove the following tests:
shared/005 --> ext4/040 shared/007 --> ext4/041 shared/289 --> ext4/042
---
tests/{shared/005 => ext4/040} | 2 +-
tests/{shared/007.out => ext4/040.out} | 2 +-
tests/{shared/007 => ext4/041} | 2 +-
tests/{shared/005.out => ext4/041.out} | 2 +-
tests/{shared/289 => ext4/042} | 2 +-
tests/{shared/289.out => ext4/042.out} | 2 +-
tests/ext4/group | 3 +++
tests/shared/group | 3 ---
8 files changed, 9 insertions(+), 9 deletions(-)
rename tests/{shared/005 => ext4/040} (97%)
rename tests/{shared/007.out => ext4/040.out} (77%)
rename tests/{shared/007 => ext4/041} (97%)
rename tests/{shared/005.out => ext4/041.out} (77%)
rename tests/{shared/289 => ext4/042} (98%)
rename tests/{shared/289.out => ext4/042.out} (67%)tests/ext4/040 renamed from tests/shared/005 +1 -1
@@ -2,7 +2,7 @@ # SPDX-License-Identifier: GPL-2.0 # Copyright (c) 2017 Oracle, Inc. All Rights Reserved. # -# FSQA Test No. 005 +# FSQA Test No. ext4/040 (was shared/005) # # Since loff_t is a signed type, it is invalid for a filesystem to load # an inode with i_size = -1ULL. Unfortunately, nobody checks this,
tests/ext4/040.out renamed from tests/shared/007.out +1 -1
@@ -1,4 +1,4 @@ -QA output created by 007 +QA output created by 040 Format and mount Corrupt filesystem Remount, try to append
tests/ext4/041 renamed from tests/shared/007 +1 -1
@@ -2,7 +2,7 @@ # SPDX-License-Identifier: GPL-2.0 # Copyright (c) 2017 Oracle, Inc. All Rights Reserved. # -# FSQA Test No. 007 +# FSQA Test No. ext4/041 (was shared/007) # # Since loff_t is a signed type, it is invalid for a filesystem to load # an inode with i_size = -1ULL. Unfortunately, nobody checks this,
tests/ext4/041.out renamed from tests/shared/005.out +1 -1
@@ -1,4 +1,4 @@ -QA output created by 005 +QA output created by 041 Format and mount Corrupt filesystem Remount, try to append
tests/ext4/042 renamed from tests/shared/289 +1 -1
@@ -2,7 +2,7 @@ # SPDX-License-Identifier: GPL-2.0 # Copyright (c) 2012 Red Hat, Inc. All Rights Reserved. # -# FS QA Test No. 289 +# FS QA Test No. ext4/042 (was shared/289) # # Test overhead & df output for extN filesystems #
tests/ext4/042.out renamed from tests/shared/289.out +1 -1
@@ -1,3 +1,3 @@ -QA output created by 289 +QA output created by 042 minix f_blocks is in range bsd f_blocks is in range
tests/ext4/group +3 -0
@@ -42,6 +42,9 @@ 037 auto quick 038 auto quick 039 auto enospc rw +040 dangerous_fuzzers +041 dangerous_fuzzers +042 auto quick 271 auto rw quick 301 aio auto ioctl rw stress defrag 302 aio auto ioctl rw stress defrag
tests/shared/group +0 -3
@@ -4,13 +4,10 @@ # - comment line before each group is "new" description # 002 auto metadata quick log -005 dangerous_fuzzers 006 auto enospc -007 dangerous_fuzzers 008 auto stress dedupe 009 auto stress dedupe 010 auto stress dedupe 011 auto quick 032 mkfs auto quick -289 auto quick 298 auto trim
Signature · 1 line
2.22.0
PATCH 4/5 shared,generic: move shared/006 to generic/
In reply to Theodore Ts'oThe shared/006 uses _scratch_mkfs_sized to create a limited size file system, and then creates inodes until it gets ENOSPC, and then checks to make sure the file system is consistent. It then remounts the file system, removes all of the files, and makes sure the file system is consistent afterwards.
This test was marked as only being supported on ext[234] and xfs, and so it was in shared. However, I've tested and this test works just fine on btrfs, ubifs, tmpfs, and should work on all file systems that support _scratch_mkfs_sized, since even if there isn't a fixed inode table, the file system will eventually run out of disk space.
---
tests/{shared/006 => generic/558} | 4 +---
tests/generic/558.out | 2 ++
tests/generic/group | 1 +
tests/shared/006.out | 2 --
tests/shared/group | 1 -
5 files changed, 4 insertions(+), 6 deletions(-)
rename tests/{shared/006 => generic/558} (96%)
create mode 100644 tests/generic/558.out
delete mode 100644 tests/shared/006.outtests/generic/558 renamed from tests/shared/006 +1 -3
@@ -2,7 +2,7 @@ # SPDX-License-Identifier: GPL-2.0 # Copyright (c) 2014 Red Hat Inc. All Rights Reserved. # -# FS QA Test No. shared/006 +# FS QA Test No. generic/558 # # Stress test fs by using up all inodes and check fs. #
@@ -42,9 +42,7 @@ create_file() . ./common/filter # real QA test starts here -_supported_fs ext4 ext3 ext2 xfs _supported_os Linux - _require_scratch rm -f $seqres.full
tests/generic/558.out new file +2 -0
@@ -0,0 +1,2 @@ +QA output created by 558 +Silence is golden
tests/generic/group +1 -0
@@ -560,3 +560,4 @@ 555 auto quick cap 556 auto quick casefold 557 auto quick log +558 auto enospc
tests/shared/006.out deleted +0 -2
@@ -1,2 +0,0 @@ -QA output created by 006 -Silence is golden
tests/shared/group +0 -1
@@ -4,7 +4,6 @@ # - comment line before each group is "new" description # 002 auto metadata quick log -006 auto enospc 008 auto stress dedupe 009 auto stress dedupe 010 auto stress dedupe
Signature · 1 line
2.22.0
Re: [PATCH 4/5] shared,generic: move shared/006 to generic/
Quoted 9 lines · Theodore Ts'o
The shared/006 uses
_scratch_mkfs_sizedto create a limited size file system, and then creates inodes until it gets ENOSPC, and then checks to make sure the file system is consistent. It then remounts the file system, removes all of the files, and makes sure the file system is consistent afterwards.This test was marked as only being supported on ext[234] and xfs, and so it was in shared. However, I've tested and this test works just fine on btrfs, ubifs, tmpfs, and should work on all file systems that
This is because the $free_inode is 0 and $loop is 1, so we end up creating only 1000 files in the test without hitting ENOSPC at all.
Perhaps we could introduce a new require rule to check if fs supports fixed inode number (just check if '_get_free_inode $TEST_DIR' returns non-zero).
Quoted 32 lines
support
_scratch_mkfs_sized, since even if there isn't a fixed inode table, the file system will eventually run out of disk space.Signed-off-by Theodore Ts'o <[email protected]>--- tests/{shared/006 => generic/558} | 4 +--- tests/generic/558.out | 2 ++ tests/generic/group | 1 + tests/shared/006.out | 2 -- tests/shared/group | 1 - 5 files changed, 4 insertions(+), 6 deletions(-) rename tests/{shared/006 => generic/558} (96%) create mode 100644 tests/generic/558.out delete mode 100644 tests/shared/006.outtests/generic/558 renamed from tests/shared/006 +1
-1@@ -2,7 +2,7 @@ # SPDX-License-Identifier: GPL-2.0 # Copyright (c) 2014 Red Hat Inc. All Rights Reserved. # -# FS QA Test No. shared/006 +# FS QA Test No. generic/558 # # Stress test fs by using up all inodes and check fs. #
tests/generic/558 create_file() · line 45
Quoted 4 lines
tests/generic/558 renamed from tests/shared/006 +0
-1@@ -42,9 +42,7 @@ create_file() . ./common/filter # real QA test starts here -_supported_fs ext4 ext3 ext2 xfs
_supported_fs generic
Thanks,
Eryu
Quoted 45 lines
tests/generic/558 renamed from tests/shared/006 +0
-1_supported_os Linux - _require_scratch rm -f $seqres.fulltests/generic/558.out new file +2
-0@@ -0,0 +1,2 @@ +QA output created by 558 +Silence is goldentests/generic/group +1
-0@@ -560,3 +560,4 @@ 555 auto quick cap 556 auto quick casefold 557 auto quick log +558 auto enospctests/shared/006.out deleted +0
-2@@ -1,2 +0,0 @@ -QA output created by 006 -Silence is goldentests/shared/group +0
-1@@ -4,7 +4,6 @@ # - comment line before each group is "new" description # 002 auto metadata quick log -006 auto enospc 008 auto stress dedupe 009 auto stress dedupe 010 auto stress dedupeSignature · 1 line
2.22.0
PATCH 5/5 shared,generic: move tests using duperemove to generic/
In reply to Theodore Ts'oAdd _require_scratch_duperemove which validates that the file system supports duperemove. This allows us to move three tests from shared/ to generic/. This means these tests will automatically adapt when duperemove supports other file systems. Tests moved are:
shared/008 --> generic/559 shared/009 --> generic/560 shared/010 --> generic/561
---
common/reflink | 18 ++++++++++++++++++
tests/{shared/008 => generic/559} | 9 +++------
tests/{shared/008.out => generic/559.out} | 2 +-
tests/{shared/009 => generic/560} | 9 ++-------
tests/{shared/009.out => generic/560.out} | 2 +-
tests/{shared/010 => generic/561} | 9 ++-------
tests/generic/561.out | 2 ++
tests/generic/group | 3 +++
tests/shared/010.out | 2 --
tests/shared/group | 3 ---
10 files changed, 32 insertions(+), 27 deletions(-)
rename tests/{shared/008 => generic/559} (85%)
rename tests/{shared/008.out => generic/559.out} (64%)
rename tests/{shared/009 => generic/560} (91%)
rename tests/{shared/009.out => generic/560.out} (74%)
rename tests/{shared/010 => generic/561} (89%)
create mode 100644 tests/generic/561.out
delete mode 100644 tests/shared/010.outcommon/reflink +18 -0
@@ -75,6 +75,24 @@ _require_scratch_reflink() _scratch_unmount } +# this test requires duperemove working for the file system +_require_scratch_duperemove() +{ + _require_scratch + _require_command "$DUPEREMOVE_PROG" duperemove + + _scratch_mkfs > /dev/null + _scratch_mount + dd if=/dev/zero of="$SCRATCH_MNT/file1" bs=128k count=1 >& /dev/null + dd if=/dev/zero of="$SCRATCH_MNT/file2" bs=128k count=1 >& /dev/null + if ! "$DUPEREMOVE_PROG" -d "$SCRATCH_MNT/file1" \ + "$SCRATCH_MNT/file2" >& /dev/null ; then + _scratch_unmount + _notrun "duperemove does not support file system type: $FSTYP" + fi + _scratch_unmount +} + # this test requires scratch fs to report explicit SHARED flag # e.g. # 0 4K 8K
tests/generic/559 renamed from tests/shared/008 +3 -6
@@ -2,7 +2,7 @@ # SPDX-License-Identifier: GPL-2.0 # Copyright (c) 2018 Red Hat Inc. All Rights Reserved. # -# FS QA Test 008 +# FS QA Test generic/559 (was shared/008) # # Dedupe a single big file and verify integrity #
@@ -29,12 +29,9 @@ _cleanup() # remove previous $seqres.full before test rm -f $seqres.full -# duperemove only supports btrfs and xfs (with reflink feature). -# Add other filesystems if it supports more later. -_supported_fs xfs btrfs +# real QA test starts here _supported_os Linux -_require_scratch_dedupe -_require_command "$DUPEREMOVE_PROG" duperemove +_require_scratch_duperemove fssize=$((2 * 1024 * 1024 * 1024)) _scratch_mkfs_sized $fssize > $seqres.full 2>&1
tests/generic/559.out renamed from tests/shared/008.out +1 -1
@@ -1,3 +1,3 @@ -QA output created by 008 +QA output created by 559 = before cycle mount = = after cycle mount =
tests/generic/560 renamed from tests/shared/009 +2 -7
@@ -2,7 +2,7 @@ # SPDX-License-Identifier: GPL-2.0 # Copyright (c) 2018 Red Hat Inc. All Rights Reserved. # -# FS QA Test 009 +# FS QA Test generic/560 (was shared/009) # # Iterate dedupe integrity test. Copy an original data0 several # times (d0 -> d1, d1 -> d2, ... dn-1 -> dn), dedupe dataN everytime
@@ -32,13 +32,8 @@ _cleanup() rm -f $seqres.full # real QA test starts here - -# duperemove only supports btrfs and xfs (with reflink feature). -# Add other filesystems if it supports more later. -_supported_fs xfs btrfs _supported_os Linux -_require_scratch_dedupe -_require_command "$DUPEREMOVE_PROG" duperemove +_require_scratch_duperemove _scratch_mkfs > $seqres.full 2>&1 _scratch_mount >> $seqres.full 2>&1
tests/generic/560.out renamed from tests/shared/009.out +1 -1
@@ -1,4 +1,4 @@ -QA output created by 009 +QA output created by 560 = Do dedup and verify = = Backwords verify = = Verify after cycle mount =
tests/generic/561 renamed from tests/shared/010 +2 -7
@@ -2,7 +2,7 @@ # SPDX-License-Identifier: GPL-2.0 # Copyright (c) 2018 Red Hat Inc. All Rights Reserved. # -# FS QA Test 010 +# FS QA Test generic/561 (was shared/010) # # Dedup & random I/O race test, do multi-threads fsstress and dedupe on # same directory/files
@@ -32,13 +32,8 @@ _cleanup() rm -f $seqres.full # real QA test starts here - -# duperemove only supports btrfs and xfs (with reflink feature). -# Add other filesystems if it supports more later. -_supported_fs xfs btrfs _supported_os Linux -_require_scratch_dedupe -_require_command "$DUPEREMOVE_PROG" duperemove +_require_scratch_duperemove _require_command "$KILLALL_PROG" killall _scratch_mkfs > $seqres.full 2>&1
tests/generic/561.out new file +2 -0
@@ -0,0 +1,2 @@ +QA output created by 561 +Silence is golden
tests/generic/group +3 -0
@@ -561,3 +561,6 @@ 556 auto quick casefold 557 auto quick log 558 auto enospc +559 auto stress dedupe +560 auto stress dedupe +561 auto stress dedupe
tests/shared/010.out deleted +0 -2
@@ -1,2 +0,0 @@ -QA output created by 010 -Silence is golden
tests/shared/group +0 -3
@@ -4,9 +4,6 @@ # - comment line before each group is "new" description # 002 auto metadata quick log -008 auto stress dedupe -009 auto stress dedupe -010 auto stress dedupe 011 auto quick 032 mkfs auto quick 298 auto trim
Signature · 1 line
2.22.0
Re: [PATCH 5/5] shared,generic: move tests using duperemove to generic/
Quoted 2 lines · Theodore Ts'o
Add
_require_scratch_duperemovewhich validates that the file system supports duperemove. This allows us to move three tests from shared/
Hmmm, that should probably read, "... which validates that duperemove supports file system being tested..."
- Ted
Quoted 8 lines
to generic/. This means these tests will automatically adapt when duperemove supports other file systems. Tests moved are:
shared/008 --> generic/559 shared/009 --> generic/560 shared/010 --> generic/561Signed-off-by Theodore Ts'o <[email protected]>
Quoted 6 lines · Theodore Ts'o
The tests shared/{001,003,004,272} test behaviour around the ext4's journal. As such, they are pointless to run on ext2, and ext3 no longer is in kernels newer than 4.3. (And most enterprise distributions have been using ext4 to support the ext3 file system; that capability has been around since 2.6.33.) So we can move these tests out of shared and into the ext4 class of tests:
Thanks a lot for the cleanup!
Quoted 5 lines
shared/001 --> ext4/036 shared/003 --> ext4/037 shared/004 --> ext4/038 shared/272 --> ext4/039
Looks like shared/001 and shared/004 are not journal related and could run with ext2 as well. So the two tests should be part of patch 3?
And I guess we should update "_supported_fs" field in ext4/037 and ext4/039 too, so they only support ext4.
Quoted 37 lines
Signed-off-by Theodore Ts'o <[email protected]>--- tests/{shared/001 => ext4/036} | 4 ++-- tests/ext4/036.out | 2 ++ tests/{shared/003 => ext4/037} | 4 +--- tests/ext4/037.out | 2 ++ tests/{shared/004 => ext4/038} | 2 +- tests/ext4/038.out | 2 ++ tests/{shared/272 => ext4/039} | 2 +- tests/{shared/272.out => ext4/039.out} | 2 +- tests/ext4/group | 4 ++++ tests/shared/001.out | 2 -- tests/shared/003.out | 2 -- tests/shared/004.out | 2 -- tests/shared/group | 4 ---- 13 files changed, 16 insertions(+), 18 deletions(-) rename tests/{shared/001 => ext4/036} (92%) create mode 100644 tests/ext4/036.out rename tests/{shared/003 => ext4/037} (96%) create mode 100644 tests/ext4/037.out rename tests/{shared/004 => ext4/038} (96%) create mode 100644 tests/ext4/038.out rename tests/{shared/272 => ext4/039} (97%) rename tests/{shared/272.out => ext4/039.out} (72%) delete mode 100644 tests/shared/001.out delete mode 100644 tests/shared/003.out delete mode 100644 tests/shared/004.outtests/ext4/036 renamed from tests/shared/001 +0
-0
tests/ext4/036 line 5
Quoted 5 lines
tests/ext4/036 renamed from tests/shared/001 +1
-1@@ -2,9 +2,9 @@ # SPDX-License-Identifier: GPL-2.0 # Copyright (c) 2015 Red Hat Inc. All Rights Reserved. # -# FS QA Test No. 001 +# FS QA Test No. ext4/036 (was shared/001)
I prefer deleting the "was shared/001" annotation, so we're consistent with all other test, and we could get such info from git log anyway.
Thanks,
Eryu
Quoted 162 lines
tests/ext4/036 renamed from tests/shared/001 +1
-1# -# Test truncate orphan inodes when mounting extN. +# Test truncate orphan inodes when mounting ext4 # ext4 used to hit WARNING, this commit fixed the issue # # 721e3eb ext4: lock i_mutex when truncating orphan inodestests/ext4/036.out new file +2
-0@@ -0,0 +1,2 @@ +QA output created by 036 +Silence is goldentests/ext4/037 renamed from tests/shared/003 +1
-3@@ -2,15 +2,13 @@ # SPDX-License-Identifier: GPL-2.0 # Copyright (c) 2015 Red Hat Inc. All Rights Reserved. # -# FS QA Test 003 +# FS QA Test ext4/037 (was shared/003) # # Test mount a needs_recovery partition with noload option. # ext4 used to Oops until part of this commit: # # 744692d ext4: use ext4_get_block_write in buffer write # -# Also test on ext2/3. -# seq=`basename $0` seqres=$RESULT_DIR/$seq echo "QA output created by $seq"tests/ext4/037.out new file +2
-0@@ -0,0 +1,2 @@ +QA output created by 037 +Silence is goldentests/ext4/038 renamed from tests/shared/004 +1
-1@@ -2,7 +2,7 @@ # SPDX-License-Identifier: GPL-2.0 # Copyright (c) 2016 Fujitsu. All Rights Reserved. # -# FS QA Test 004 +# FS QA Test ext4/038 (was shared/004) # # Regression test for commit: # c9eb13a ext4: fix hang when processing corrupted orphaned inode listtests/ext4/038.out new file +2
-0@@ -0,0 +1,2 @@ +QA output created by 038 +Silence is goldentests/ext4/039 renamed from tests/shared/272 +1
-1@@ -2,7 +2,7 @@ # SPDX-License-Identifier: GPL-2.0 # Copyright (c) 2006 Silicon Graphics, Inc. All Rights Reserved. # -# FSQA Test No. 272 +# FSQA Test No. ext4/039 (was shared/272) # # Test data journaling flag switch for a single file #tests/ext4/039.out renamed from tests/shared/272.out +1
-1@@ -1,3 +1,3 @@ -QA output created by 272 +QA output created by 039 Switch data journalling mode. Silence is golden. Check filesystemtests/ext4/group +4
-0@@ -38,6 +38,10 @@ 033 auto ioctl resize 034 auto quick quota 035 auto quick resize +036 auto quick +037 auto quick +038 auto quick +039 auto enospc rw 271 auto rw quick 301 aio auto ioctl rw stress defrag 302 aio auto ioctl rw stress defragtests/shared/001.out deleted +0
-2@@ -1,2 +0,0 @@ -QA output created by 001 -Silence is goldentests/shared/003.out deleted +0
-2@@ -1,2 +0,0 @@ -QA output created by 003 -Silence is goldentests/shared/004.out deleted +0
-2@@ -1,2 +0,0 @@ -QA output created by 004 -Silence is goldentests/shared/group +0
-4@@ -3,10 +3,7 @@ # - do not start group names with a digit # - comment line before each group is "new" description # -001 auto quick 002 auto metadata quick log -003 auto quick -004 auto quick 005 dangerous_fuzzers 006 auto enospc 007 dangerous_fuzzers@@ -15,6 +12,5 @@ 010 auto stress dedupe 011 auto quick 032 mkfs auto quick -272 auto enospc rw 289 auto quick 298 auto trimSignature · 1 line
2.22.0
Quoted 8 lines · Eryu Guan
Quoted 5 lines
shared/001 --> ext4/036 shared/003 --> ext4/037 shared/004 --> ext4/038 shared/272 --> ext4/039Looks like shared/001 and shared/004 are not journal related and could run with ext2 as well. So the two tests should be part of patch 3?
Orphaned inodes is something which is only a thing with ext3/ext4. The fact that these tests pass on ext2 is purely a happy accident --- because ext2 completely ignores the orphaned list. I suppose I should just remove ext2 from the supported list, but these tests take a super small amount of time so why the tests are kinda pointless for ext2, it doesn't cost much time, either.
Quoted 2 lines
And I guess we should update "
_supported_fs" field in ext4/037 and ext4/039 too, so they only support ext4.
ext4/037 should have be marked as only supported by ext3 and ext4. It's passing by accident on my system because I have CONFIG_EXT4_USE_FOR_EXT2, and so the lack of the noload mount option wasn't tripping up the test and causing a test failure. (The fact that no one has complained is actually a really strong suggestion that most people running xfstests have EXT4_USE_FOR_EXT2 enabled.) I'll fix this.
ext4/039 is right as is; it makes sense for ext3 and ext4, and if someone is testing with FSTYP=ext3 we do want to run that test.
I'll adjust some of the supported_fs lines in the next version.
- Ted