[PATCH 2/2] xfstests: split mapped writes vs direct I/O tests from 091

Christoph Hellwig
2011-10-10T18:22:18Z

This effectively reverts

xfstests: add mapped write fsx operations to 091

and adds a new test case for it. It tests something slightly different, and
regressions in existing tests due to new features are pretty nasty in a
test suite.

Signed-off-by: Christoph Hellwig <hch@lst.de>

Index: xfstests-dev/263
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ xfstests-dev/263 2011-10-10 18:06:59.000000000 +0000
@@ -0,0 +1,64 @@
+#! /bin/bash
+# FS QA Test No. 263
+#
+# fsx exercising direct IO vs sub-block buffered I/O
+#
+#-----------------------------------------------------------------------
+# Copyright (c) 2000-2004 Silicon Graphics, Inc. All Rights Reserved.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it would be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
+#-----------------------------------------------------------------------
+#
+# creator
+owner=nathans@sgi.com
+
+seq=`basename $0`
+echo "QA output created by $seq"
+
+here=`pwd`
+tmp=/tmp/$$
+status=1 # failure is the default!
+trap "rm -f $tmp.*; exit \$status" 0 1 2 3 15
+
+# get standard environment, filters and checks
+. ./common.rc
+. ./common.filter
+
+# real QA test starts here
+_supported_fs generic
+_supported_os Linux
+
+rm -f $seq.full
+
+run_fsx()
+{
+ echo fsx $@ | tee -a $seq.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 >>$seq.full 2>&1
+ if [ $? -ne 0 ]; then
+ cat $seq.full
+ exit 1
+ fi
+}
+
+psize=`$here/src/feature -s`
+bsize=`blockdev --getss $TEST_DEV`
+
+run_fsx -N 10000 -o 8192 -l 500000 -r PSIZE -t BSIZE -w BSIZE -Z
+run_fsx -N 10000 -o 128000 -l 500000 -r PSIZE -t BSIZE -w BSIZE -Z
+
+status=0
+exit
Index: xfstests-dev/group
===================================================================
--- xfstests-dev.orig/group 2011-10-10 18:04:52.000000000 +0000
+++ xfstests-dev/group 2011-10-10 18:05:02.000000000 +0000
@@ -376,3 +376,4 @@ deprecated
260 auto quick trim
261 auto quick quota
262 auto quick quota
+263 rw auto quick
Index: xfstests-dev/263.out
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ xfstests-dev/263.out 2011-10-10 18:07:16.000000000 +0000
@@ -0,0 +1,3 @@
+QA output created by 263
+fsx -N 10000 -o 8192 -l 500000 -r PSIZE -t BSIZE -w BSIZE -Z
+fsx -N 10000 -o 128000 -l 500000 -r PSIZE -t BSIZE -w BSIZE -Z
Index: xfstests-dev/091
===================================================================
--- xfstests-dev.orig/091 2011-10-10 18:07:46.000000000 +0000
+++ xfstests-dev/091 2011-10-10 18:07:51.000000000 +0000
@@ -88,11 +88,5 @@ kernel=`uname -r | sed -e 's/\(2\..\).*
#run_fsx -N 10000 -o 128000 -l 500000 -r PSIZE -t PSIZE -w PSIZE -Z -W
run_fsx -N 10000 -o 128000 -l 500000 -r PSIZE -t BSIZE -w BSIZE -Z -W

- run_fsx -N 10000 -o 8192 -l 500000 -r PSIZE -t BSIZE -w BSIZE -Z
- run_fsx -N 10000 -o 128000 -l 500000 -r PSIZE -t BSIZE -w BSIZE -Z
-
-# Commented out calls above are less likely to pick up issues, so
-# save time by commenting them out (leave 'em for manual testing).
-
status=0
exit
Index: xfstests-dev/091.out
===================================================================
--- xfstests-dev.orig/091.out 2011-10-10 18:07:53.000000000 +0000
+++ xfstests-dev/091.out 2011-10-10 18:07:55.000000000 +0000
@@ -5,5 +5,3 @@ fsx -N 10000 -o 32768 -l 500000 -r PSIZE
fsx -N 10000 -o 8192 -l 500000 -r PSIZE -t BSIZE -w BSIZE -Z -R -W
fsx -N 10000 -o 32768 -l 500000 -r PSIZE -t BSIZE -w BSIZE -Z -R -W
fsx -N 10000 -o 128000 -l 500000 -r PSIZE -t BSIZE -w BSIZE -Z -W
-fsx -N 10000 -o 8192 -l 500000 -r PSIZE -t BSIZE -w BSIZE -Z
-fsx -N 10000 -o 128000 -l 500000 -r PSIZE -t BSIZE -w BSIZE -Z