fsx: 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.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
This commit is contained in:
Eric Sandeen
2014-04-22 10:46:49 +10:00
committed by Dave Chinner
parent 6fcbf5898c
commit c365b11682
7 changed files with 14 additions and 9 deletions
+5
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+4 -4
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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