xfstests: introduce FSX_AVOID env var
PATCH 1/1 xfstests: introduce FSX_AVOID env var
Just like FSSTRESS_AVOID, FSX_AVOID can be used to add options at the end of the default fsx runs in each test. i.e. FSX_AVOID="-H -z -C" will disable punch hole, zero range, and collapse range calls in all tests which run fsx.
This should handle Ted's concerns about buggy ext4 fallocate code without needing to add tunables to the kernel to reject these operations during xfstests runs.
---
README +5 -0
@@ -68,6 +68,11 @@ Preparing system for tests (IRIX and Linux): - setenv FSTYP "the filesystem you want to test", the filesystem type is devised from the TEST_DEV device, but you may want to override it; if unset, the default is 'xfs' + - setenv FSSTRESS_AVOID and/or FSX_AVOID, which contain options + added to the end of fsstresss and fsx invocations, respectively, + in case you wish to exclude certain operational modes from these + tests. + - or add a case to the switch in common/config assigning these variables based on the hostname of your test machine
tests/generic/075 +1 -1
@@ -75,7 +75,7 @@ _do_test() # This cd and use of -P gets full debug on $here (not TEST_DEV) cd $out - if ! $here/ltp/fsx $_param -P $here $seq.$_n &>/dev/null + if ! $here/ltp/fsx $_param -P $here $seq.$_n $FSX_AVOID &>/dev/null then echo " fsx ($_param) failed, $? - compare $seqres.$_n.{good,bad,fsxlog}" mv $out/$seq.$_n $seqres.$_n.full
tests/generic/091 +1 -1
@@ -46,7 +46,7 @@ run_fsx() echo fsx $@ | tee -a $seqres.full args=`echo $@ | sed -e "s/ BSIZE / $bsize /g" -e "s/ PSIZE / $psize /g"` rm -f $TEST_DIR/junk - $here/ltp/fsx $args $TEST_DIR/junk >>$seqres.full 2>&1 + $here/ltp/fsx $args $FSX_AVOID $TEST_DIR/junk >>$seqres.full 2>&1 if [ $? -ne 0 ]; then cat $seqres.full exit 1
tests/generic/112 +1 -1
@@ -75,7 +75,7 @@ _do_test() # This cd and use of -P gets full debug on $here (not TEST_DEV) cd $out - if ! $here/ltp/fsx $_param -P $here $seq.$_n &>/dev/null + if ! $here/ltp/fsx $_param -P $here $FSX_AVOID $seq.$_n &>/dev/null then echo " fsx ($_param) returned $? - see $seq.$_n.full" mv $seq.$_n.fsxlog $seqres.$_n.full
tests/generic/127 +4 -4
@@ -51,7 +51,7 @@ _fsx_lite_nommap() { echo "=== FSX Light Mode, No Memory Mapping ===" dd if=/dev/zero of=$TEST_DIR/fsx_lite_nommap bs=${FSX_FILE_SIZE} count=1 > /dev/null 2>&1 - if ! ltp/fsx $FSX_ARGS -L -R -W $TEST_DIR/fsx_lite_nommap > $tmp.output 2>&1 + if ! ltp/fsx $FSX_ARGS -L -R -W $FSX_AVOID $TEST_DIR/fsx_lite_nommap > $tmp.output 2>&1 then echo "ltp/fsx $FSX_ARGS -L -R -W $TEST_DIR/fsx_lite_nommap" cat $tmp.output
@@ -65,7 +65,7 @@ _fsx_lite_mmap() { echo "=== FSX Light Mode, Memory Mapping ===" dd if=/dev/zero of=$TEST_DIR/fsx_lite_mmap bs=${FSX_FILE_SIZE} count=1 > /dev/null 2>&1 - if ! ltp/fsx $FSX_ARGS -L $TEST_DIR/fsx_lite_mmap > $tmp.output 2>&1 + if ! ltp/fsx $FSX_ARGS -L $FSX_AVOID $TEST_DIR/fsx_lite_mmap > $tmp.output 2>&1 then echo "ltp/fsx $FSX_ARGS -L fsx_lite_mmap" cat $tmp.output
@@ -78,7 +78,7 @@ _fsx_lite_mmap() _fsx_std_nommap() { echo "=== FSX Standard Mode, No Memory Mapping ===" - if ! ltp/fsx $FSX_ARGS -R -W $TEST_DIR/fsx_std_nommap > $tmp.output 2>&1 + if ! ltp/fsx $FSX_ARGS -R -W $FSX_AVOID $TEST_DIR/fsx_std_nommap > $tmp.output 2>&1 then echo "ltp/fsx $FSX_ARGS -R -W fsx_std_nommap" cat $tmp.output
@@ -91,7 +91,7 @@ _fsx_std_nommap() _fsx_std_mmap() { echo "=== FSX Standard Mode, Memory Mapping ===" - if ! ltp/fsx $FSX_ARGS $TEST_DIR/fsx_std_mmap > $tmp.output 2>&1 + if ! ltp/fsx $FSX_ARGS $FSX_AVOID $TEST_DIR/fsx_std_mmap > $tmp.output 2>&1 then echo "ltp/fsx $FSX_ARGS fsx_std_mmap" cat $tmp.output
tests/generic/231 +1 -1
@@ -48,7 +48,7 @@ _fsx() SEED=$RANDOM echo "ltp/fsx $FSX_ARGS -S $SEED $SCRATCH_MNT/fsx_file$i" >>$seqres.full su $qa_user -c "ltp/fsx $FSX_ARGS -S $SEED \ - $SCRATCH_MNT/fsx_file$i" >$tmp.output$i 2>&1 & + $FSX_AVOID $SCRATCH_MNT/fsx_file$i" >$tmp.output$i 2>&1 & done for (( i = 1; i <= $tasks; i++ )); do
tests/generic/263 +1 -1
@@ -46,7 +46,7 @@ run_fsx() echo fsx $@ | tee -a $seqres.full args=`echo $@ | sed -e "s/ BSIZE / $bsize /g" -e "s/ PSIZE / $psize /g"` rm -f $TEST_DIR/junk - $here/ltp/fsx $args $TEST_DIR/junk >>$seqres.full 2>&1 + $here/ltp/fsx $args $FSX_AVOID $TEST_DIR/junk >>$seqres.full 2>&1 if [ $? -ne 0 ]; then cat $seqres.full exit 1
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
Quoted 8 lines · Eric Sandeen
Just like
FSSTRESS_AVOID,FSX_AVOIDcan be used to add options at the end of the default fsx runs in each test. i.e. FSX_AVOID="-H -z -C" will disable punch hole, zero range, and collapse range calls in all tests which run fsx.This should handle Ted's concerns about buggy ext4 fallocate code without needing to add tunables to the kernel to reject these operations during xfstests runs.
I would much prefer to add a little _run_fsx helper to encapsulate this.
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
Quoted 6 lines · Christoph Hellwig
Quoted 5 lines · Eric Sandeen
Just like
FSSTRESS_AVOID,FSX_AVOIDcan be used to add options at the end of the default fsx runs in each test. i.e. FSX_AVOID="-H -z -C" will disable punch hole, zero range, and collapse range calls in all tests which run fsx.
Quoted 6 lines
Quoted 3 lines
This should handle Ted's concerns about buggy ext4 fallocate code without needing to add tunables to the kernel to reject these operations during xfstests runs.
I would much prefer to add a little
_run_fsxhelper to encapsulate this.
Dave already merged it, but yeah, that's a good idea, for fsx as well as fsstress.
-Eric