The f55e46d6 ("fstests: redirect fsstress' stdout to $seqres.full instead of /dev/null") did lots of changes as below: -$FSSTRESS_PROG $args >/dev/null 2>&1 & +$FSSTRESS_PROG $args >>$seqres.full & Although it's good to replace /dev/null with $seqres.full, but the change also removed the "2>&1", that againsts the original behavior. Some test cases might want to ignore fsstress error output, but now the error output breaks the gardon image. For example: FSTYP -- xfs (non-debug) PLATFORM -- Linux/s390x xxx-xxx-xxx MKFS_OPTIONS -- -f -m crc=1,finobt=1,reflink=1,rmapbt=1,bigtime=1,inobtcount=1 -b size=1024 /dev/loop1 MOUNT_OPTIONS -- -o context=system_u:object_r:root_t:s0 /dev/loop1 /mnt/fstests/SCRATCH_DIR generic/269 - output mismatch (see /var/lib/xfstests/results//generic/269.out.bad) --- tests/generic/269.out 2023-10-17 22:32:46.162110249 -0400 +++ /var/lib/xfstests/results//generic/269.out.bad 2023-10-17 23:07:45.752145653 -0400 @@ -3,3 +3,60 @@ Run fsstress Run dd writers in parallel +p36: No such file or directory +p41: No such file or directory +p42: No such file or directory +p43: No such file or directory ... The generic/269 hopes to run fsstress with ENOSPC error, so it redirects stderr to /dev/null. But now it fails. The f55e46d6 ("fstests: redirect fsstress' stdout to $seqres.full instead of /dev/null") only wants to redirect stdout, so we'd better to keep stderr output to /dev/null, if a case hopes to do that. Fixes: f55e46d6 ("fstests: redirect fsstress' stdout to $seqres.full instead of /dev/null") Signed-off-by: Zorro Lang <zlang@xxxxxxxxxx> --- Hi, This patch only trys to bring "2>&1" back, if case has it at beginning. To make sure we don't break the original behavior of these cases. If some of below cases really want to remove the "2>&1", better to do that in another patch, and show a proper reason. Thanks, Zorro tests/btrfs/028 | 2 +- tests/btrfs/049 | 2 +- tests/btrfs/060 | 2 +- tests/btrfs/061 | 2 +- tests/btrfs/062 | 2 +- tests/btrfs/063 | 2 +- tests/btrfs/064 | 2 +- tests/btrfs/065 | 2 +- tests/btrfs/066 | 2 +- tests/btrfs/067 | 2 +- tests/btrfs/068 | 2 +- tests/btrfs/069 | 2 +- tests/btrfs/070 | 2 +- tests/btrfs/071 | 2 +- tests/btrfs/072 | 2 +- tests/btrfs/073 | 2 +- tests/btrfs/074 | 2 +- tests/btrfs/136 | 2 +- tests/btrfs/192 | 2 +- tests/btrfs/232 | 2 +- tests/btrfs/261 | 2 +- tests/btrfs/286 | 2 +- tests/ext4/057 | 2 +- tests/ext4/307 | 2 +- tests/generic/068 | 2 +- tests/generic/269 | 2 +- tests/xfs/051 | 2 +- tests/xfs/057 | 2 +- tests/xfs/297 | 2 +- tests/xfs/305 | 2 +- tests/xfs/538 | 2 +- 31 files changed, 31 insertions(+), 31 deletions(-) diff --git a/tests/btrfs/028 b/tests/btrfs/028 index d860974e..c4853e06 100755 --- a/tests/btrfs/028 +++ b/tests/btrfs/028 @@ -35,7 +35,7 @@ args=`_scale_fsstress_args -z \ -f fsync=10 -n 100000 -p 2 \ -d $SCRATCH_MNT/stress_dir` echo "Run fsstress $args" >>$seqres.full -$FSSTRESS_PROG $args >>$seqres.full & +$FSSTRESS_PROG $args >>$seqres.full 2>&1 & fsstress_pid=$! echo "Start balance" >>$seqres.full diff --git a/tests/btrfs/049 b/tests/btrfs/049 index c48e4087..e5f37ccd 100755 --- a/tests/btrfs/049 +++ b/tests/btrfs/049 @@ -42,7 +42,7 @@ args=`_scale_fsstress_args -z \ -f write=10 -f creat=10 \ -n 1000 -p 2 -d $SCRATCH_MNT/stress_dir` echo "Run fsstress $args" >>$seqres.full -$FSSTRESS_PROG $args >>$seqres.full +$FSSTRESS_PROG $args >>$seqres.full 2>&1 # Start and pause balance to ensure it will be restored on remount echo "Start balance" >>$seqres.full diff --git a/tests/btrfs/060 b/tests/btrfs/060 index a0184891..5c10fc51 100755 --- a/tests/btrfs/060 +++ b/tests/btrfs/060 @@ -38,7 +38,7 @@ run_test() args=`_scale_fsstress_args -p 20 -n 100 $FSSTRESS_AVOID -d $SCRATCH_MNT/stressdir` echo "Run fsstress $args" >>$seqres.full - $FSSTRESS_PROG $args >>$seqres.full & + $FSSTRESS_PROG $args >>$seqres.full 2>&1 & fsstress_pid=$! echo -n "Start balance worker: " >>$seqres.full diff --git a/tests/btrfs/061 b/tests/btrfs/061 index c1010413..407066e3 100755 --- a/tests/btrfs/061 +++ b/tests/btrfs/061 @@ -36,7 +36,7 @@ run_test() args=`_scale_fsstress_args -p 20 -n 100 $FSSTRESS_AVOID -d $SCRATCH_MNT/stressdir` echo "Run fsstress $args" >>$seqres.full - $FSSTRESS_PROG $args >>$seqres.full & + $FSSTRESS_PROG $args >>$seqres.full 2>&1 & fsstress_pid=$! echo -n "Start balance worker: " >>$seqres.full diff --git a/tests/btrfs/062 b/tests/btrfs/062 index 818a0156..dacf56db 100755 --- a/tests/btrfs/062 +++ b/tests/btrfs/062 @@ -37,7 +37,7 @@ run_test() args=`_scale_fsstress_args -p 20 -n 100 $FSSTRESS_AVOID -d $SCRATCH_MNT/stressdir` echo "Run fsstress $args" >>$seqres.full - $FSSTRESS_PROG $args >>$seqres.full & + $FSSTRESS_PROG $args >>$seqres.full 2>&1 & fsstress_pid=$! echo -n "Start balance worker: " >>$seqres.full diff --git a/tests/btrfs/063 b/tests/btrfs/063 index 2f771baf..88d0ed21 100755 --- a/tests/btrfs/063 +++ b/tests/btrfs/063 @@ -36,7 +36,7 @@ run_test() args=`_scale_fsstress_args -p 20 -n 100 $FSSTRESS_AVOID -d $SCRATCH_MNT/stressdir` echo "Run fsstress $args" >>$seqres.full - $FSSTRESS_PROG $args >>$seqres.full & + $FSSTRESS_PROG $args >>$seqres.full 2>&1 & fsstress_pid=$! echo -n "Start balance worker: " >>$seqres.full diff --git a/tests/btrfs/064 b/tests/btrfs/064 index e9b46ce6..cad78248 100755 --- a/tests/btrfs/064 +++ b/tests/btrfs/064 @@ -46,7 +46,7 @@ run_test() args=`_scale_fsstress_args -p 20 -n 100 $FSSTRESS_AVOID -d $SCRATCH_MNT/stressdir` echo "Run fsstress $args" >>$seqres.full - $FSSTRESS_PROG $args >>$seqres.full & + $FSSTRESS_PROG $args >>$seqres.full 2>&1 & fsstress_pid=$! # Start both balance and replace in the background. diff --git a/tests/btrfs/065 b/tests/btrfs/065 index c4b6aafe..d388f1e1 100755 --- a/tests/btrfs/065 +++ b/tests/btrfs/065 @@ -46,7 +46,7 @@ run_test() args=`_scale_fsstress_args -p 20 -n 100 $FSSTRESS_AVOID -d $SCRATCH_MNT/stressdir` echo "Run fsstress $args" >>$seqres.full - $FSSTRESS_PROG $args >>$seqres.full & + $FSSTRESS_PROG $args >>$seqres.full 2>&1 & fsstress_pid=$! # make sure the stop sign is not there diff --git a/tests/btrfs/066 b/tests/btrfs/066 index a29034bb..ecb35f38 100755 --- a/tests/btrfs/066 +++ b/tests/btrfs/066 @@ -38,7 +38,7 @@ run_test() args=`_scale_fsstress_args -p 20 -n 100 $FSSTRESS_AVOID -d $SCRATCH_MNT/stressdir` echo "Run fsstress $args" >>$seqres.full - $FSSTRESS_PROG $args >>$seqres.full & + $FSSTRESS_PROG $args >>$seqres.full 2>&1 & fsstress_pid=$! # make sure the stop sign is not there diff --git a/tests/btrfs/067 b/tests/btrfs/067 index 709db155..d9808177 100755 --- a/tests/btrfs/067 +++ b/tests/btrfs/067 @@ -39,7 +39,7 @@ run_test() args=`_scale_fsstress_args -p 20 -n 100 $FSSTRESS_AVOID -d $SCRATCH_MNT/stressdir` echo "Run fsstress $args" >>$seqres.full - $FSSTRESS_PROG $args >>$seqres.full & + $FSSTRESS_PROG $args >>$seqres.full 2>&1 & fsstress_pid=$! # make sure the stop sign is not there diff --git a/tests/btrfs/068 b/tests/btrfs/068 index 15fd41db..321bb4d2 100755 --- a/tests/btrfs/068 +++ b/tests/btrfs/068 @@ -39,7 +39,7 @@ run_test() args=`_scale_fsstress_args -p 20 -n 100 $FSSTRESS_AVOID -d $SCRATCH_MNT/stressdir` echo "Run fsstress $args" >>$seqres.full - $FSSTRESS_PROG $args >>$seqres.full & + $FSSTRESS_PROG $args >>$seqres.full 2>&1 & fsstress_pid=$! # make sure the stop sign is not there diff --git a/tests/btrfs/069 b/tests/btrfs/069 index 139dde48..4a65c7e5 100755 --- a/tests/btrfs/069 +++ b/tests/btrfs/069 @@ -44,7 +44,7 @@ run_test() args=`_scale_fsstress_args -p 20 -n 100 $FSSTRESS_AVOID -d $SCRATCH_MNT/stressdir` echo "Run fsstress $args" >>$seqres.full - $FSSTRESS_PROG $args >>$seqres.full & + $FSSTRESS_PROG $args >>$seqres.full 2>&1 & fsstress_pid=$! echo -n "Start replace worker: " >>$seqres.full diff --git a/tests/btrfs/070 b/tests/btrfs/070 index 54aa275c..b823d95b 100755 --- a/tests/btrfs/070 +++ b/tests/btrfs/070 @@ -45,7 +45,7 @@ run_test() args=`_scale_fsstress_args -p 20 -n 100 $FSSTRESS_AVOID -d $SCRATCH_MNT/stressdir` echo "Run fsstress $args" >>$seqres.full - $FSSTRESS_PROG $args >>$seqres.full & + $FSSTRESS_PROG $args >>$seqres.full 2>&1 & fsstress_pid=$! echo -n "Start replace worker: " >>$seqres.full diff --git a/tests/btrfs/071 b/tests/btrfs/071 index 6ebbd8cc..ff16d5ac 100755 --- a/tests/btrfs/071 +++ b/tests/btrfs/071 @@ -44,7 +44,7 @@ run_test() args=`_scale_fsstress_args -p 20 -n 100 $FSSTRESS_AVOID -d $SCRATCH_MNT/stressdir` echo "Run fsstress $args" >>$seqres.full - $FSSTRESS_PROG $args >>$seqres.full & + $FSSTRESS_PROG $args >>$seqres.full 2>&1 & fsstress_pid=$! echo -n "Start replace worker: " >>$seqres.full diff --git a/tests/btrfs/072 b/tests/btrfs/072 index 4b6b6fb5..3eda8dfb 100755 --- a/tests/btrfs/072 +++ b/tests/btrfs/072 @@ -37,7 +37,7 @@ run_test() args=`_scale_fsstress_args -p 20 -n 100 $FSSTRESS_AVOID -d $SCRATCH_MNT/stressdir` echo "Run fsstress $args" >>$seqres.full - $FSSTRESS_PROG $args >>$seqres.full & + $FSSTRESS_PROG $args >>$seqres.full 2>&1 & fsstress_pid=$! echo -n "Start scrub worker: " >>$seqres.full diff --git a/tests/btrfs/073 b/tests/btrfs/073 index b1604f94..d3264f3b 100755 --- a/tests/btrfs/073 +++ b/tests/btrfs/073 @@ -36,7 +36,7 @@ run_test() args=`_scale_fsstress_args -p 20 -n 100 $FSSTRESS_AVOID -d $SCRATCH_MNT/stressdir` echo "Run fsstress $args" >>$seqres.full - $FSSTRESS_PROG $args >>$seqres.full & + $FSSTRESS_PROG $args >>$seqres.full 2>&1 & fsstress_pid=$! echo -n "Start scrub worker: " >>$seqres.full diff --git a/tests/btrfs/074 b/tests/btrfs/074 index 9b22c620..3d08415c 100755 --- a/tests/btrfs/074 +++ b/tests/btrfs/074 @@ -37,7 +37,7 @@ run_test() args=`_scale_fsstress_args -p 20 -n 100 $FSSTRESS_AVOID -d $SCRATCH_MNT/stressdir` echo "Run fsstress $args" >>$seqres.full - $FSSTRESS_PROG $args >>$seqres.full & + $FSSTRESS_PROG $args >>$seqres.full 2>&1 & fsstress_pid=$! echo -n "Start defrag worker: " >>$seqres.full diff --git a/tests/btrfs/136 b/tests/btrfs/136 index 70e836a5..fd637f33 100755 --- a/tests/btrfs/136 +++ b/tests/btrfs/136 @@ -39,7 +39,7 @@ populate_data(){ mkdir -p $data_path args=`_scale_fsstress_args -p 20 -n 100 $FSSTRESS_AVOID -d $data_path` echo "Run fsstress $args" >>$seqres.full - $FSSTRESS_PROG $args >>$seqres.full & + $FSSTRESS_PROG $args >>$seqres.full 2>&1 & fsstress_pid=$! wait $fsstress_pid } diff --git a/tests/btrfs/192 b/tests/btrfs/192 index 00ea1478..0d926635 100755 --- a/tests/btrfs/192 +++ b/tests/btrfs/192 @@ -140,7 +140,7 @@ pid1=$! delete_workload & pid2=$! -"$FSSTRESS_PROG" $fsstress_args >> $seqres.full & +"$FSSTRESS_PROG" $fsstress_args >> $seqres.full 2>&1 & sleep $runtime "$KILLALL_PROG" -q "$FSSTRESS_PROG" &> /dev/null diff --git a/tests/btrfs/232 b/tests/btrfs/232 index 84c39c07..8ac0ce7c 100755 --- a/tests/btrfs/232 +++ b/tests/btrfs/232 @@ -25,7 +25,7 @@ writer() while true; do args=`_scale_fsstress_args -p 20 -n 1000 $FSSTRESS_AVOID -d $SCRATCH_MNT/stressdir` - $FSSTRESS_PROG $args >> $seqres.full + $FSSTRESS_PROG $args >> $seqres.full 2>&1 done } diff --git a/tests/btrfs/261 b/tests/btrfs/261 index 58fa8e75..9968c694 100755 --- a/tests/btrfs/261 +++ b/tests/btrfs/261 @@ -36,7 +36,7 @@ prepare_fs() # Then use fsstress to generate some extra contents. # Disable setattr related operations, as it may set NODATACOW which will # not allow us to use btrfs checksum to verify the content. - $FSSTRESS_PROG -f setattr=0 -d $SCRATCH_MNT -w -n 3000 >> $seqres.full + $FSSTRESS_PROG -f setattr=0 -d $SCRATCH_MNT -w -n 3000 >> $seqres.full 2>&1 sync # Save the fssum of this fs diff --git a/tests/btrfs/286 b/tests/btrfs/286 index 71f6d4bd..ab4f9b24 100755 --- a/tests/btrfs/286 +++ b/tests/btrfs/286 @@ -36,7 +36,7 @@ workload() # Use nodatasum mount option, so all data won't have checksum. _scratch_mount -o nodatasum - $FSSTRESS_PROG -p 10 -n 200 -d $SCRATCH_MNT >> $seqres.full + $FSSTRESS_PROG -p 10 -n 200 -d $SCRATCH_MNT >> $seqres.full 2>&1 sync # Generate fssum for later verification, here we only care diff --git a/tests/ext4/057 b/tests/ext4/057 index 6babedb2..b6d19339 100755 --- a/tests/ext4/057 +++ b/tests/ext4/057 @@ -42,7 +42,7 @@ _scratch_mount # Begin fsstress while modifying UUID fsstress_args=$(_scale_fsstress_args -d $SCRATCH_MNT -p 15 -n 999999) -$FSSTRESS_PROG $fsstress_args >> $seqres.full & +$FSSTRESS_PROG $fsstress_args >> $seqres.full 2>&1 & fsstress_pid=$! for n in $(seq 1 20); do diff --git a/tests/ext4/307 b/tests/ext4/307 index 8b1cfc9e..75a8bff0 100755 --- a/tests/ext4/307 +++ b/tests/ext4/307 @@ -21,7 +21,7 @@ _workout() out=$SCRATCH_MNT/fsstress.$$ args=`_scale_fsstress_args -p4 -n999 -f setattr=1 $FSSTRESS_AVOID -d $out` echo "fsstress $args" >> $seqres.full - $FSSTRESS_PROG $args >> $seqres.full + $FSSTRESS_PROG $args >> $seqres.full 2>&1 find $out -type f > $out.list cat $out.list | xargs md5sum > $out.md5sum usage=`du -sch $out | tail -n1 | gawk '{ print $1 }'` diff --git a/tests/generic/068 b/tests/generic/068 index af527fee..b2967d13 100755 --- a/tests/generic/068 +++ b/tests/generic/068 @@ -57,7 +57,7 @@ touch $tmp.running # We do both read & write IO - not only is this more realistic, # but it also potentially tests atime updates FSSTRESS_ARGS=`_scale_fsstress_args -d $STRESS_DIR -p $procs -n $nops $FSSTRESS_AVOID` - $FSSTRESS_PROG $FSSTRESS_ARGS >>$seqres.full + $FSSTRESS_PROG $FSSTRESS_ARGS >>$seqres.full 2>&1 done rm -r $STRESS_DIR/* diff --git a/tests/generic/269 b/tests/generic/269 index b852f6bf..eddca10d 100755 --- a/tests/generic/269 +++ b/tests/generic/269 @@ -23,7 +23,7 @@ _workout() out=$SCRATCH_MNT/fsstress.$$ args=`_scale_fsstress_args -p128 -n999999999 -f setattr=1 $FSSTRESS_AVOID -d $out` echo "fsstress $args" >> $seqres.full - $FSSTRESS_PROG $args >> $seqres.full & + $FSSTRESS_PROG $args >> $seqres.full 2>&1 & pid=$! echo "Run dd writers in parallel" for ((i=0; i < num_iterations; i++)) diff --git a/tests/xfs/051 b/tests/xfs/051 index 1c670964..eca67bb8 100755 --- a/tests/xfs/051 +++ b/tests/xfs/051 @@ -38,7 +38,7 @@ _scratch_mount # Start a workload and shutdown the fs. The subsequent mount will require log # recovery. -$FSSTRESS_PROG -n 9999 -p 2 -w -d $SCRATCH_MNT >> $seqres.full & +$FSSTRESS_PROG -n 9999 -p 2 -w -d $SCRATCH_MNT >> $seqres.full 2>&1 & sleep 5 _scratch_shutdown -f $KILLALL_PROG -q $FSSTRESS_PROG diff --git a/tests/xfs/057 b/tests/xfs/057 index 6af14c80..9b52da79 100755 --- a/tests/xfs/057 +++ b/tests/xfs/057 @@ -56,7 +56,7 @@ _scratch_mkfs_sized $((1024 * 1024 * 500)) >> $seqres.full 2>&1 || _scratch_mount # populate the fs with some data and cycle the mount to reset the log head/tail -$FSSTRESS_PROG -d $SCRATCH_MNT -z -fcreat=1 -p 4 -n 100000 >> $seqres.full +$FSSTRESS_PROG -d $SCRATCH_MNT -z -fcreat=1 -p 4 -n 100000 >> $seqres.full 2>&1 _scratch_cycle_mount || _fail "cycle mount failed" # Pin the tail and start a file removal workload. File removal tends to diff --git a/tests/xfs/297 b/tests/xfs/297 index 1d101876..cd7bccb2 100755 --- a/tests/xfs/297 +++ b/tests/xfs/297 @@ -39,7 +39,7 @@ _scratch_mount STRESS_DIR="$SCRATCH_MNT/testdir" mkdir -p $STRESS_DIR -$FSSTRESS_PROG -d $STRESS_DIR -n 100 -p 1000 $FSSTRESS_AVOID >>$seqres.full & +$FSSTRESS_PROG -d $STRESS_DIR -n 100 -p 1000 $FSSTRESS_AVOID >>$seqres.full 2>&1 & # Freeze/unfreeze file system randomly echo "Start freeze/unfreeze randomly" | tee -a $seqres.full diff --git a/tests/xfs/305 b/tests/xfs/305 index d8a6712e..a93576bc 100755 --- a/tests/xfs/305 +++ b/tests/xfs/305 @@ -36,7 +36,7 @@ _exercise() _qmount mkdir -p $QUOTA_DIR - $FSSTRESS_PROG -d $QUOTA_DIR -n 1000000 -p 100 $FSSTRESS_AVOID >>$seqres.full & + $FSSTRESS_PROG -d $QUOTA_DIR -n 1000000 -p 100 $FSSTRESS_AVOID >>$seqres.full 2>&1 & sleep 10 $XFS_QUOTA_PROG -x -c "disable -$type" $SCRATCH_DEV sleep 5 diff --git a/tests/xfs/538 b/tests/xfs/538 index 0b5772a1..d36673a9 100755 --- a/tests/xfs/538 +++ b/tests/xfs/538 @@ -63,7 +63,7 @@ $FSSTRESS_PROG -d $SCRATCH_MNT \ -f readv=0 \ -f stat=0 \ -f aread=0 \ - -f dread=0 >> $seqres.full + -f dread=0 >> $seqres.full 2>&1 # success, all done status=0 -- 2.41.0