All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jaegeuk Kim <jaegeuk@kernel.org>
To: Dave Chinner <david@fromorbit.com>
Cc: fstests@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net,
	Jaegeuk Kim <jaegeuk@kernel.org>
Subject: [PATCH 5/8 v4] tests/generic: relocate xfs's tests into tests/generic/
Date: Tue,  3 Feb 2015 15:07:17 -0800	[thread overview]
Message-ID: <1423004840-45315-6-git-send-email-jaegeuk@kernel.org> (raw)
In-Reply-To: <1423004840-45315-1-git-send-email-jaegeuk@kernel.org>

This patch moves the generic testcases defined in xfs into tests/generic/.
* xfs/053 -> generic/054
  xfs/137 -> generic/137
  xfs/138 -> generic/138
  xfs/139 -> generic/139
  xfs/140 -> generic/140
  xfs/179 -> generic/179
  xfs/180 -> generic/180
  xfs/182 -> generic/182
  xfs/200 -> generic/200
* xfs/306 -> generic/305

* The test number was changed to address conflicts.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
---
 tests/generic/054     | 102 ++++++++++++++++++++++++++++++++++++++++
 tests/generic/054.out |  10 ++++
 tests/generic/137     | 106 +++++++++++++++++++++++++++++++++++++++++
 tests/generic/137.out |   1 +
 tests/generic/138     | 112 ++++++++++++++++++++++++++++++++++++++++++++
 tests/generic/138.out |   1 +
 tests/generic/139     | 112 ++++++++++++++++++++++++++++++++++++++++++++
 tests/generic/139.out |   1 +
 tests/generic/140     | 109 +++++++++++++++++++++++++++++++++++++++++++
 tests/generic/140.out |   1 +
 tests/generic/179     | 107 ++++++++++++++++++++++++++++++++++++++++++
 tests/generic/179.out |   1 +
 tests/generic/180     | 111 +++++++++++++++++++++++++++++++++++++++++++
 tests/generic/180.out |   1 +
 tests/generic/182     | 108 ++++++++++++++++++++++++++++++++++++++++++
 tests/generic/182.out |   1 +
 tests/generic/200     | 127 ++++++++++++++++++++++++++++++++++++++++++++++++++
 tests/generic/200.out |  24 ++++++++++
 tests/generic/305     | 105 +++++++++++++++++++++++++++++++++++++++++
 tests/generic/305.out |   2 +
 tests/generic/group   |  10 ++++
 tests/xfs/053         | 102 ----------------------------------------
 tests/xfs/053.out     |  10 ----
 tests/xfs/137         | 106 -----------------------------------------
 tests/xfs/137.out     |   1 -
 tests/xfs/138         | 112 --------------------------------------------
 tests/xfs/138.out     |   1 -
 tests/xfs/139         | 112 --------------------------------------------
 tests/xfs/139.out     |   1 -
 tests/xfs/140         | 109 -------------------------------------------
 tests/xfs/140.out     |   1 -
 tests/xfs/179         | 107 ------------------------------------------
 tests/xfs/179.out     |   1 -
 tests/xfs/180         | 111 -------------------------------------------
 tests/xfs/180.out     |   1 -
 tests/xfs/182         | 108 ------------------------------------------
 tests/xfs/182.out     |   1 -
 tests/xfs/200         | 127 --------------------------------------------------
 tests/xfs/200.out     |  24 ----------
 tests/xfs/306         | 105 -----------------------------------------
 tests/xfs/306.out     |   2 -
 tests/xfs/group       |  10 ----
 42 files changed, 1152 insertions(+), 1152 deletions(-)
 create mode 100755 tests/generic/054
 create mode 100644 tests/generic/054.out
 create mode 100755 tests/generic/137
 create mode 100644 tests/generic/137.out
 create mode 100755 tests/generic/138
 create mode 100644 tests/generic/138.out
 create mode 100755 tests/generic/139
 create mode 100644 tests/generic/139.out
 create mode 100755 tests/generic/140
 create mode 100644 tests/generic/140.out
 create mode 100755 tests/generic/179
 create mode 100644 tests/generic/179.out
 create mode 100755 tests/generic/180
 create mode 100644 tests/generic/180.out
 create mode 100755 tests/generic/182
 create mode 100644 tests/generic/182.out
 create mode 100755 tests/generic/200
 create mode 100644 tests/generic/200.out
 create mode 100755 tests/generic/305
 create mode 100644 tests/generic/305.out
 delete mode 100755 tests/xfs/053
 delete mode 100644 tests/xfs/053.out
 delete mode 100755 tests/xfs/137
 delete mode 100644 tests/xfs/137.out
 delete mode 100755 tests/xfs/138
 delete mode 100644 tests/xfs/138.out
 delete mode 100755 tests/xfs/139
 delete mode 100644 tests/xfs/139.out
 delete mode 100755 tests/xfs/140
 delete mode 100644 tests/xfs/140.out
 delete mode 100755 tests/xfs/179
 delete mode 100644 tests/xfs/179.out
 delete mode 100755 tests/xfs/180
 delete mode 100644 tests/xfs/180.out
 delete mode 100755 tests/xfs/182
 delete mode 100644 tests/xfs/182.out
 delete mode 100755 tests/xfs/200
 delete mode 100644 tests/xfs/200.out
 delete mode 100755 tests/xfs/306
 delete mode 100644 tests/xfs/306.out

diff --git a/tests/generic/054 b/tests/generic/054
new file mode 100755
index 0000000..4106970
--- /dev/null
+++ b/tests/generic/054
@@ -0,0 +1,102 @@
+#! /bin/bash
+# FS QA Test No. 054
+#
+# Test stale data exposure via writeback using various file allocation
+# modification commands. The presumption is that such commands result in partial
+# writeback and can convert a delayed allocation extent, that might be larger
+# than the ranged affected by fallocate, to a normal extent. If the fs happens
+# to crash sometime between when the extent modification is logged and writeback
+# occurs for dirty pages within the extent but outside of the fallocated range,
+# stale data exposure can occur.
+#
+#-----------------------------------------------------------------------
+# Copyright (c) 2014 Red Hat, 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
+#-----------------------------------------------------------------------
+#
+
+seq=`basename $0`
+seqres=$RESULT_DIR/$seq
+echo "QA output created by $seq"
+
+here=`pwd`
+tmp=/tmp/$$
+status=1	# failure is the default!
+trap "_cleanup; exit \$status" 0 1 2 3 15
+
+_cleanup()
+{
+	cd /
+	rm -f $tmp.*
+}
+
+# get standard environment, filters and checks
+. ./common/rc
+. ./common/filter
+. ./common/punch
+
+# real QA test starts here
+rm -f $seqres.full
+
+_crashtest()
+{
+	cmd=$1
+	img=$SCRATCH_MNT/$seq.img
+	mnt=$SCRATCH_MNT/$seq.mnt
+	file=$mnt/file
+
+	# Create an fs on a small, initialized image. The pattern is written to
+	# the image to detect stale data exposure.
+	$XFS_IO_PROG -f -c "truncate 0" -c "pwrite 0 25M" $img \
+		>> $seqres.full 2>&1
+	_mkfs_dev $img >> $seqres.full 2>&1
+
+	mkdir -p $mnt
+	_mount $img $mnt
+
+	echo $cmd
+
+	# write, run the test command and shutdown the fs
+	$XFS_IO_PROG -f -c "pwrite -S 1 0 64k" -c "$cmd 60k 4k" $file | \
+		_filter_xfs_io
+	./src/godown -f $mnt
+
+	$UMOUNT_PROG $mnt
+	_mount $img $mnt
+
+	# we generally expect a zero-sized file (this should be silent)
+	hexdump $file
+
+	$UMOUNT_PROG $mnt
+}
+
+# Modify as appropriate.
+_supported_fs generic
+_supported_os Linux
+_require_scratch
+_require_scratch_shutdown
+_require_xfs_io_command "falloc"
+_require_xfs_io_command "fpunch"
+_require_xfs_io_command "fzero"
+
+_scratch_mkfs >/dev/null 2>&1
+_scratch_mount
+
+_crashtest "falloc -k"
+_crashtest "fpunch"
+_crashtest "fzero -k"
+
+status=0
+exit
diff --git a/tests/generic/054.out b/tests/generic/054.out
new file mode 100644
index 0000000..b2d605f
--- /dev/null
+++ b/tests/generic/054.out
@@ -0,0 +1,10 @@
+QA output created by 054
+falloc -k
+wrote 65536/65536 bytes at offset 0
+XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
+fpunch
+wrote 65536/65536 bytes at offset 0
+XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
+fzero -k
+wrote 65536/65536 bytes at offset 0
+XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
diff --git a/tests/generic/137 b/tests/generic/137
new file mode 100755
index 0000000..6ec1bcb
--- /dev/null
+++ b/tests/generic/137
@@ -0,0 +1,106 @@
+#! /bin/bash
+# FSQA Test No. 137
+#
+# Test for NULL files problem
+#
+#-----------------------------------------------------------------------
+# Copyright (c) 2006 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
+#
+#-----------------------------------------------------------------------
+#
+
+seq=`basename $0`
+seqres=$RESULT_DIR/$seq
+echo "QA output created by $seq"
+
+here=`pwd`
+tmp=/tmp/$$
+status=1    # failure is the default!
+trap "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 IRIX
+
+_require_scratch
+_require_scratch_shutdown
+_require_bmap
+_scratch_mkfs >/dev/null 2>&1
+_scratch_mount
+
+# create files
+i=1;
+while [ $i -lt 1000 ]
+do
+	file=$SCRATCH_MNT/$i
+	xfs_io -f -c "pwrite -b 64k -S 0xff 0 64k" $file > /dev/null
+	if [ $? -ne 0 ]
+	then
+		echo error creating/writing file $file
+		exit
+	fi
+	let i=$i+1
+done
+
+# give the system a chance to write something out
+sleep 10
+
+src/godown $SCRATCH_MNT
+
+umount $SCRATCH_MNT
+_scratch_mount
+umount $SCRATCH_MNT
+if [ ! _check_scratch_fs ]
+then
+	echo error detected in filesystem
+	exit
+fi
+_scratch_mount
+
+# check file size and contents
+i=1;
+while [ $i -lt 1000 ]
+do
+	file=$SCRATCH_MNT/$i
+	# if file does not exist, the create was not logged, skip it
+	if [ -e $file ]
+	then
+		# if file size is zero it cannot be corrupt, skip it
+		if [ -s $file ]
+		then
+			# if file has non-zero size but no extents then it's contents will be NULLs, bad.
+			if $BMAP_PROG $file | grep 'no extents' > /dev/null
+			then
+				echo corrupt file $file - non-zero size but no extents
+			elif $BMAP_PROG $file | grep 'hole' > /dev/null
+			then
+				echo corrupt file $file - contains holes
+			else
+				rm -f $file
+			fi
+		else
+			rm -f $file
+		fi
+	fi
+	let i=$i+1
+done
+
+status=0
+exit 
diff --git a/tests/generic/137.out b/tests/generic/137.out
new file mode 100644
index 0000000..0fd8b81
--- /dev/null
+++ b/tests/generic/137.out
@@ -0,0 +1 @@
+QA output created by 137
diff --git a/tests/generic/138 b/tests/generic/138
new file mode 100755
index 0000000..9f12639
--- /dev/null
+++ b/tests/generic/138
@@ -0,0 +1,112 @@
+#! /bin/bash
+# FSQA Test No. 138
+#
+# Test for NULL files problem
+#
+#-----------------------------------------------------------------------
+# Copyright (c) 2006 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
+#
+#-----------------------------------------------------------------------
+#
+
+seq=`basename $0`
+seqres=$RESULT_DIR/$seq
+echo "QA output created by $seq"
+
+here=`pwd`
+tmp=/tmp/$$
+status=1    # failure is the default!
+trap "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 IRIX
+
+_require_scratch
+_require_scratch_shutdown
+_require_bmap
+_scratch_mkfs >/dev/null 2>&1
+_scratch_mount
+
+# create files
+i=1;
+while [ $i -lt 1000 ]
+do
+	file=$SCRATCH_MNT/$i
+	xfs_io -f -c "pwrite -b 64k -S 0xff 0 64k" $file > /dev/null
+	if [ $? -ne 0 ]
+	then
+		echo error creating/writing file $file
+		exit
+	fi
+	xfs_io -c "truncate 64k" $file > /dev/null
+	if [ $? -ne 0 ]
+	then
+		echo error truncating file $file
+		exit
+	fi
+	let i=$i+1
+done
+
+# give the system a chance to write something out
+sleep 10
+
+src/godown $SCRATCH_MNT
+
+umount $SCRATCH_MNT
+_scratch_mount
+umount $SCRATCH_MNT
+if [ ! _check_scratch_fs ]
+then
+	echo error detected in filesystem
+	exit
+fi
+_scratch_mount
+
+# check file size and contents
+i=1;
+while [ $i -lt 1000 ]
+do
+	file=$SCRATCH_MNT/$i
+	# if file does not exist, the create was not logged, skip it
+	if [ -e $file ]
+	then
+		# if file size is zero it cannot be corrupt, skip it
+		if [ -s $file ]
+		then
+			# if file has non-zero size but no extents then it's contents will be NULLs, bad.
+			if $BMAP_PROG $file | grep 'no extents' > /dev/null
+			then
+				echo corrupt file $file - non-zero size but no extents
+			elif $BMAP_PROG $file | grep 'hole' > /dev/null
+			then
+				echo corrupt file $file - contains holes
+			else
+				rm -f $file
+			fi
+		else
+			rm -f $file
+		fi
+	fi
+	let i=$i+1
+done
+
+status=0
+exit 
diff --git a/tests/generic/138.out b/tests/generic/138.out
new file mode 100644
index 0000000..f3eb411
--- /dev/null
+++ b/tests/generic/138.out
@@ -0,0 +1 @@
+QA output created by 138
diff --git a/tests/generic/139 b/tests/generic/139
new file mode 100755
index 0000000..4baa1bc
--- /dev/null
+++ b/tests/generic/139
@@ -0,0 +1,112 @@
+#! /bin/bash
+# FSQA Test No. 139
+#
+# Test for NULL files problem
+#
+#-----------------------------------------------------------------------
+# Copyright (c) 2006 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
+#
+#-----------------------------------------------------------------------
+#
+
+seq=`basename $0`
+seqres=$RESULT_DIR/$seq
+echo "QA output created by $seq"
+
+here=`pwd`
+tmp=/tmp/$$
+status=1    # failure is the default!
+trap "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 IRIX
+
+_require_scratch
+_require_scratch_shutdown
+_require_bmap
+_scratch_mkfs >/dev/null 2>&1
+_scratch_mount
+
+# create files
+i=1;
+while [ $i -lt 1000 ]
+do
+	file=$SCRATCH_MNT/$i
+	xfs_io -f -c "pwrite -b 64k -S 0xff 0 64k" $file > /dev/null
+	if [ $? -ne 0 ]
+	then
+		echo error creating/writing file $file
+		exit
+	fi
+	xfs_io -c "truncate 32k" $file > /dev/null
+	if [ $? -ne 0 ]
+	then
+		echo error truncating file $file
+		exit
+	fi
+	let i=$i+1
+done
+
+# give the system a chance to write something out
+sleep 10
+
+src/godown $SCRATCH_MNT
+
+umount $SCRATCH_MNT
+_scratch_mount
+umount $SCRATCH_MNT
+if [ ! _check_scratch_fs ]
+then
+	echo error detected in filesystem
+	exit
+fi
+_scratch_mount
+
+# check file size and contents
+i=1;
+while [ $i -lt 1000 ]
+do
+	file=$SCRATCH_MNT/$i
+	# if file does not exist, the create was not logged, skip it
+	if [ -e $file ]
+	then
+		# if file size is zero it cannot be corrupt, skip it
+		if [ -s $file ]
+		then
+			# if file has non-zero size but no extents then it's contents will be NULLs, bad.
+			if $BMAP_PROG $file | grep 'no extents' > /dev/null
+			then
+				echo corrupt file $file - non-zero size but no extents
+			elif $BMAP_PROG $file | grep 'hole' > /dev/null
+			then
+				echo corrupt file $file - contains holes
+			else
+				rm -f $file
+			fi
+		else
+			rm -f $file
+		fi
+	fi
+	let i=$i+1
+done
+
+status=0
+exit 
diff --git a/tests/generic/139.out b/tests/generic/139.out
new file mode 100644
index 0000000..be0ebc2
--- /dev/null
+++ b/tests/generic/139.out
@@ -0,0 +1 @@
+QA output created by 139
diff --git a/tests/generic/140 b/tests/generic/140
new file mode 100755
index 0000000..aff835a
--- /dev/null
+++ b/tests/generic/140
@@ -0,0 +1,109 @@
+#! /bin/bash
+# FSQA Test No. 140
+#
+# Test for NULL files problem
+#
+#-----------------------------------------------------------------------
+# Copyright (c) 2006 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
+#
+#-----------------------------------------------------------------------
+#
+
+seq=`basename $0`
+seqres=$RESULT_DIR/$seq
+echo "QA output created by $seq"
+
+here=`pwd`
+tmp=/tmp/$$
+status=1    # failure is the default!
+trap "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 IRIX
+
+_require_scratch
+_require_scratch_shutdown
+_require_bmap
+_scratch_mkfs >/dev/null 2>&1
+_scratch_mount
+
+# create files
+i=1;
+while [ $i -lt 1000 ]
+do
+	file=$SCRATCH_MNT/$i
+	xfs_io -f -c "pwrite -b 32k -S 0xff 0 32k" $file > /dev/null
+	if [ $? -ne 0 ]
+	then
+		echo error creating/writing file $file
+		exit
+	fi
+	xfs_io -c "truncate 64k" $file > /dev/null
+	if [ $? -ne 0 ]
+	then
+		echo error truncating file $file
+		exit
+	fi
+	let i=$i+1
+done
+
+# give the system a chance to write something out
+sleep 10
+
+src/godown $SCRATCH_MNT
+
+umount $SCRATCH_MNT
+_scratch_mount
+umount $SCRATCH_MNT
+if [ ! _check_scratch_fs ]
+then
+	echo error detected in filesystem
+	exit
+fi
+_scratch_mount
+
+# check file size and contents
+i=1;
+while [ $i -lt 1000 ]
+do
+	file=$SCRATCH_MNT/$i
+	# if file does not exist, the create was not logged, skip it
+	if [ -e $file ]
+	then
+		# if file size is zero it cannot be corrupt, skip it
+		if [ -s $file ]
+		then
+			# if file has non-zero size but no extents then it's contents will be NULLs, bad.
+			if $BMAP_PROG $file | grep 'no extents' > /dev/null
+			then
+				echo corrupt file $file - non-zero size but no extents
+			else
+				rm -f $file
+			fi
+		else
+			rm -f $file
+		fi
+	fi
+	let i=$i+1
+done
+
+status=0
+exit 
diff --git a/tests/generic/140.out b/tests/generic/140.out
new file mode 100644
index 0000000..e6506b8
--- /dev/null
+++ b/tests/generic/140.out
@@ -0,0 +1 @@
+QA output created by 140
diff --git a/tests/generic/179 b/tests/generic/179
new file mode 100755
index 0000000..e71afae
--- /dev/null
+++ b/tests/generic/179
@@ -0,0 +1,107 @@
+#! /bin/bash
+# FSQA Test No. 179
+#
+# Test for NULL files problem
+# test inode size is on disk after fsync
+#
+#-----------------------------------------------------------------------
+# Copyright (c) 2006 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
+#
+#-----------------------------------------------------------------------
+#
+
+seq=`basename $0`
+seqres=$RESULT_DIR/$seq
+echo "QA output created by $seq"
+
+here=`pwd`
+tmp=/tmp/$$
+status=1    # failure is the default!
+trap "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 IRIX
+
+_require_scratch
+_require_scratch_shutdown
+_require_bmap
+_scratch_mkfs >/dev/null 2>&1
+_scratch_mount
+
+_check_files()
+{
+	# check file size and contents
+	i=1;
+	while [ $i -lt 1000 ]
+	do
+		file=$SCRATCH_MNT/$i
+		# if file is missing then fsync failed
+		if [ -e $file ]
+		then
+			# if file size is not 32KB then fsync failed
+			if [ `ls -l $file | tr -s ' ' | cut -d ' ' -f 5` -eq 32768 ]
+			then
+				# if file has non-zero size but no extents then it's contents will be NULLs, bad.
+				if $BMAP_PROG $file | grep 'no extents' > /dev/null
+				then
+					echo corrupt file $file - non-zero size but no extents
+				else
+					rm -f $file
+				fi
+			else
+				echo file $file has incorrect size - fsync failed
+			fi
+		else
+			echo file $file missing - fsync failed
+		fi
+		let i=$i+1
+	done
+}
+
+# create files and fsync them
+i=1;
+while [ $i -lt 1000 ]
+do
+	file=$SCRATCH_MNT/$i
+	xfs_io -f -c "pwrite -b 32k -S 0xff 0 32k" -c "fsync" $file > /dev/null
+	if [ $? -ne 0 ]
+	then
+		echo error creating/writing file $file
+		exit
+	fi
+	let i=$i+1
+done
+
+# shutdown immediately after, then remount and test
+src/godown $SCRATCH_MNT
+umount $SCRATCH_MNT
+_scratch_mount
+umount $SCRATCH_MNT
+if [ ! _check_scratch_fs ]
+then
+	echo error detected in filesystem
+	exit
+fi
+_scratch_mount
+_check_files
+
+status=0
+exit
diff --git a/tests/generic/179.out b/tests/generic/179.out
new file mode 100644
index 0000000..e5b0ba9
--- /dev/null
+++ b/tests/generic/179.out
@@ -0,0 +1 @@
+QA output created by 179
diff --git a/tests/generic/180 b/tests/generic/180
new file mode 100755
index 0000000..9e9bf8d
--- /dev/null
+++ b/tests/generic/180
@@ -0,0 +1,111 @@
+#! /bin/bash
+# FSQA Test No. 180
+#
+# Test for NULL files problem
+# test inode size is on disk after sync
+#
+#-----------------------------------------------------------------------
+# Copyright (c) 2006 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
+#
+#-----------------------------------------------------------------------
+#
+
+seq=`basename $0`
+seqres=$RESULT_DIR/$seq
+echo "QA output created by $seq"
+
+here=`pwd`
+tmp=/tmp/$$
+status=1    # failure is the default!
+trap "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 IRIX
+
+_require_scratch
+_require_scratch_shutdown
+_require_bmap
+_scratch_mkfs >/dev/null 2>&1
+_scratch_mount
+
+# Do we have enough space on disk?  10G
+_require_fs_space $SCRATCH_MNT 10485760
+
+_check_files()
+{
+	# check file size and contents
+	i=1;
+	while [ $i -lt 1000 ]
+	do
+		file=$SCRATCH_MNT/$i
+		# if file is missing then sync failed
+		if [ -e $file ]
+		then
+			# if file size is not 10MB then sync failed
+			if [ `ls -l $file | tr -s ' ' | cut -d ' ' -f 5` -eq 10485760 ]
+			then
+				# if file has non-zero size but no extents then it's contents will be NULLs, bad.
+				if $BMAP_PROG $file | grep 'no extents' > /dev/null
+				then
+					echo corrupt file $file - non-zero size but no extents
+				else
+					rm -f $file
+				fi
+			else
+				echo file $file has incorrect size - sync failed
+			fi
+		else
+			echo file $file missing - sync failed
+		fi
+		let i=$i+1
+	done
+}
+
+# create files and sync them
+i=1;
+while [ $i -lt 1000 ]
+do
+	file=$SCRATCH_MNT/$i
+	xfs_io -f -c "pwrite -b 64k -S 0xff 0 10m" $file > /dev/null
+	if [ $? -ne 0 ]
+	then
+		echo error creating/writing file $file
+		exit
+	fi
+	let i=$i+1
+done
+
+# sync, then shutdown immediately after, then remount and test
+sync
+src/godown $SCRATCH_MNT
+umount $SCRATCH_MNT
+_scratch_mount
+umount $SCRATCH_MNT
+if [ ! _check_scratch_fs ]
+then
+	echo error detected in filesystem
+	exit
+fi
+_scratch_mount
+_check_files
+
+status=0
+exit
diff --git a/tests/generic/180.out b/tests/generic/180.out
new file mode 100644
index 0000000..9035544
--- /dev/null
+++ b/tests/generic/180.out
@@ -0,0 +1 @@
+QA output created by 180
diff --git a/tests/generic/182 b/tests/generic/182
new file mode 100755
index 0000000..68d872c
--- /dev/null
+++ b/tests/generic/182
@@ -0,0 +1,108 @@
+#! /bin/bash
+# FSQA Test No. 182
+#
+# Test for NULL files problem
+# test inode size is on disk after sync - expose log replay bug
+#
+#-----------------------------------------------------------------------
+# Copyright (c) 2006 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
+#
+#-----------------------------------------------------------------------
+#
+
+seq=`basename $0`
+seqres=$RESULT_DIR/$seq
+echo "QA output created by $seq"
+
+here=`pwd`
+tmp=/tmp/$$
+status=1    # failure is the default!
+trap "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 IRIX
+
+_require_scratch
+_require_scratch_shutdown
+_require_bmap
+_scratch_mkfs >/dev/null 2>&1
+_scratch_mount
+
+_check_files()
+{
+	# check file size and contents
+	i=1;
+	while [ $i -lt 1000 ]
+	do
+		file=$SCRATCH_MNT/$i
+		# if file is missing then sync failed
+		if [ -e $file ]
+		then
+			# if file size is not 32KB then sync failed
+			if [ `ls -l $file | tr -s ' ' | cut -d ' ' -f 5` -eq 32768 ]
+			then
+				# if file has non-zero size but no extents then it's contents will be NULLs, bad.
+				if $BMAP_PROG $file | grep 'no extents' > /dev/null
+				then
+					echo corrupt file $file - non-zero size but no extents
+				else
+					rm -f $file
+				fi
+			else
+				echo file $file has incorrect size - sync failed
+			fi
+		else
+			echo file $file missing - sync failed
+		fi
+		let i=$i+1
+	done
+}
+
+# create files and sync them
+i=1;
+while [ $i -lt 1000 ]
+do
+	file=$SCRATCH_MNT/$i
+	xfs_io -f -c "pwrite -b 32k -S 0xff 0 32k" $file > /dev/null
+	if [ $? -ne 0 ]
+	then
+		echo error creating/writing file $file
+		exit
+	fi
+	let i=$i+1
+done
+
+# sync, then shutdown immediately after, then remount and test
+sync
+src/godown $SCRATCH_MNT
+umount $SCRATCH_MNT
+_scratch_mount
+umount $SCRATCH_MNT
+if [ ! _check_scratch_fs ]
+then
+	echo error detected in filesystem
+	exit
+fi
+_scratch_mount
+_check_files
+
+status=0
+exit
diff --git a/tests/generic/182.out b/tests/generic/182.out
new file mode 100644
index 0000000..5e665c8
--- /dev/null
+++ b/tests/generic/182.out
@@ -0,0 +1 @@
+QA output created by 182
diff --git a/tests/generic/200 b/tests/generic/200
new file mode 100755
index 0000000..f29feb9
--- /dev/null
+++ b/tests/generic/200
@@ -0,0 +1,127 @@
+#! /bin/bash
+# FS QA Test No. 200
+#
+# Check out various mount/remount/unmount scenarious on a read-only blockdev.
+#
+#-----------------------------------------------------------------------
+# Copyright (c) 2009 Christoph Hellwig.
+#
+# 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
+#-----------------------------------------------------------------------
+#
+
+seq=`basename $0`
+seqres=$RESULT_DIR/$seq
+echo "QA output created by $seq"
+
+here=`pwd`
+tmp=/tmp/$$
+status=1	# failure is the default!
+
+_cleanup()
+{
+	cd /
+	blockdev --setrw $SCRATCH_DEV
+}
+trap "_cleanup; 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
+
+_require_scratch_nocheck
+_require_scratch_shutdown
+_require_norecovery
+
+_scratch_mkfs >/dev/null 2>&1
+
+#
+# Mark the device read-only
+#
+echo "setting device read-only"
+blockdev --setro $SCRATCH_DEV
+
+#
+# Mount it, and make sure we can't write to it, and we can unmount it again
+#
+echo "mounting read-only block device:"
+_scratch_mount 2>&1 | _filter_scratch | _filter_ro_mount
+
+echo "touching file on read-only filesystem (should fail)"
+touch $SCRATCH_MNT/foo 2>&1 | _filter_scratch
+
+#
+# Apparently this used to be broken at some point:
+#	http://oss.sgi.com/bugzilla/show_bug.cgi?id=807
+#
+echo "unmounting read-only filesystem"
+umount $SCRATCH_MNT 2>&1 | _filter_scratch
+
+echo "setting device read-write"
+blockdev --setrw $SCRATCH_DEV
+
+echo "mounting read-write block device:"
+_scratch_mount 2>&1 | _filter_scratch
+
+echo "touch files"
+touch $SCRATCH_MNT/{0,1,2,3,4,5,6,7,8,9}{0,1,2,3,4,5,6,7,8,9}
+
+echo "going down:"
+src/godown -f $SCRATCH_MNT
+
+echo "unmounting shutdown filesystem:"
+umount $SCRATCH_MNT 2>&1 | _filter_scratch
+
+echo "setting device read-only"
+blockdev --setro $SCRATCH_DEV
+
+#
+# Mounting a filesystem that requires log-recovery fails unless
+# -o norecovery is used.
+#
+echo "mounting filesystem that needs recovery on a read-only device:"
+_scratch_mount 2>&1 | _filter_scratch | _filter_ro_mount
+
+echo "unmounting read-only filesystem"
+umount $SCRATCH_MNT 2>&1 | _filter_scratch
+
+#
+# This is the way out if the underlying device really is read-only.
+# Doesn't mean it's a good idea in practive, more a last resort
+# data recovery hack.
+#
+echo "mounting filesystem with -o norecovery on a read-only device:"
+_scratch_mount -o norecovery 2>&1 | _filter_scratch | _filter_ro_mount
+
+echo "unmounting read-only filesystem"
+umount $SCRATCH_MNT 2>&1 | _filter_scratch
+
+echo "setting device read-write"
+blockdev --setrw $SCRATCH_DEV
+
+#
+# But log recovery is performed when mount with -o ro as long as
+# the underlying device is not write protected.
+#
+echo "mounting filesystem that needs recovery with -o ro:"
+_scratch_mount -o ro 2>&1 | _filter_scratch 
+
+# success, all done
+echo "*** done"
+rm -f $seqres.full
+status=0
diff --git a/tests/generic/200.out b/tests/generic/200.out
new file mode 100644
index 0000000..40f9163
--- /dev/null
+++ b/tests/generic/200.out
@@ -0,0 +1,24 @@
+QA output created by 200
+setting device read-only
+mounting read-only block device:
+mount: SCRATCH_DEV is write-protected, mounting read-only
+touching file on read-only filesystem (should fail)
+touch: cannot touch 'SCRATCH_MNT/foo': Read-only file system
+unmounting read-only filesystem
+setting device read-write
+mounting read-write block device:
+touch files
+going down:
+unmounting shutdown filesystem:
+setting device read-only
+mounting filesystem that needs recovery on a read-only device:
+mount: SCRATCH_DEV is write-protected, mounting read-only
+mount: cannot mount SCRATCH_DEV read-only
+unmounting read-only filesystem
+umount: SCRATCH_MNT: not mounted
+mounting filesystem with -o norecovery on a read-only device:
+mount: SCRATCH_DEV is write-protected, mounting read-only
+unmounting read-only filesystem
+setting device read-write
+mounting filesystem that needs recovery with -o ro:
+*** done
diff --git a/tests/generic/305 b/tests/generic/305
new file mode 100755
index 0000000..0081277
--- /dev/null
+++ b/tests/generic/305
@@ -0,0 +1,105 @@
+#!/bin/bash
+# FS QA Test No. generic/305
+#
+# Basic log recovery stress test - do lots of stuff, shut down in the middle of
+# it and check that recovery runs to completion and everything can be
+# successfully removed afterwards..
+#
+#-----------------------------------------------------------------------
+# Copyright (c) 2013 Red Hat, 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
+#
+#-----------------------------------------------------------------------
+#
+
+seq=`basename $0`
+seqres=$RESULT_DIR/$seq
+echo "QA output created by $seq"
+
+here=`pwd`
+tmp=/tmp/$$
+status=1	# failure is the default!
+
+# get standard environment, filters and checks
+. ./common/rc
+. ./common/filter
+
+_cleanup()
+{
+	cd /
+	umount $SCRATCH_MNT 2>/dev/null
+	rm -f $tmp.*
+}
+trap "_cleanup; exit \$status" 0 1 2 3 15
+
+# real QA test starts here
+_supported_fs generic
+_supported_os Linux
+
+_require_scratch
+_require_scratch_shutdown
+
+rm -f $seqres.full
+
+_scratch_mkfs > $seqres.full 2>&1
+_scratch_mount
+
+SLEEP_TIME=$((30 * $TIME_FACTOR))
+PROCS=$((2 * LOAD_FACTOR))
+
+load_dir=$SCRATCH_MNT/test
+
+# let this run for a while
+$FSSTRESS_PROG -n10000000 -p $PROCS -d $load_dir >> $seqres.full 2>&1 &
+sleep $SLEEP_TIME
+killall -q $FSSTRESS_PROG
+wait
+sync
+umount $SCRATCH_MNT
+
+# now mount again, run the load again, this time with a shutdown.
+_scratch_mount
+$XFS_FSR_PROG -v $load_dir >> $seqres.full 2>&1
+$FSSTRESS_PROG -n10000000 -p $PROCS -d $load_dir >> $seqres.full 2>&1 &
+sleep $SLEEP_TIME
+sync
+
+# now shutdown and unmount
+sleep 5
+$here/src/godown $load_dir
+killall -q $FSSTRESS_PROG
+wait
+
+# for some reason fsstress processes manage to live on beyond the wait?
+sleep 5
+umount $SCRATCH_MNT
+
+# now recover, check the filesystem for consistency
+_scratch_mount
+umount $SCRATCH_MNT
+_check_scratch_fs
+
+# now clean up.
+_scratch_mount
+for d in $load_dir/*; do
+        rm -rf $d > /dev/null 2>&1 &
+done
+wait
+umount $SCRATCH_MNT
+
+echo "No output is good. Failures are loud."
+
+status=0
+exit
diff --git a/tests/generic/305.out b/tests/generic/305.out
new file mode 100644
index 0000000..b7f6801
--- /dev/null
+++ b/tests/generic/305.out
@@ -0,0 +1,2 @@
+QA output created by 305
+No output is good. Failures are loud.
diff --git a/tests/generic/group b/tests/generic/group
index fb67b57..122b172 100644
--- a/tests/generic/group
+++ b/tests/generic/group
@@ -45,6 +45,7 @@
 040 metadata auto quick
 041 metadata auto quick
 053 acl repair auto quick
+054 auto quick rw
 062 attr udf auto quick
 068 other auto freeze dangerous stress
 069 rw udf auto quick
@@ -79,12 +80,20 @@
 132 pattern auto
 133 rw auto
 135 metadata auto quick
+137 metadata log auto
+138 metadata log auto
+139 metadata log auto
+140 metadata log auto
 141 rw auto quick
 169 rw metadata auto quick
+179 metadata rw auto
+180 metadata rw auto
+182 metadata rw auto
 184 metadata auto quick
 192 atime auto
 193 metadata auto quick
 198 auto aio quick
+200 mount auto quick
 204 metadata rw auto
 207 auto aio quick
 208 auto aio
@@ -138,6 +147,7 @@
 294 auto quick
 299 auto aio enospc rw stress
 300 auto aio enospc preallocrw stress
+305 auto stress log metadata repair
 306 auto quick rw
 307 auto quick
 308 auto quick
diff --git a/tests/xfs/053 b/tests/xfs/053
deleted file mode 100755
index a3ebc62..0000000
--- a/tests/xfs/053
+++ /dev/null
@@ -1,102 +0,0 @@
-#! /bin/bash
-# FS QA Test No. 053
-#
-# Test stale data exposure via writeback using various file allocation
-# modification commands. The presumption is that such commands result in partial
-# writeback and can convert a delayed allocation extent, that might be larger
-# than the ranged affected by fallocate, to a normal extent. If the fs happens
-# to crash sometime between when the extent modification is logged and writeback
-# occurs for dirty pages within the extent but outside of the fallocated range,
-# stale data exposure can occur.
-#
-#-----------------------------------------------------------------------
-# Copyright (c) 2014 Red Hat, 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
-#-----------------------------------------------------------------------
-#
-
-seq=`basename $0`
-seqres=$RESULT_DIR/$seq
-echo "QA output created by $seq"
-
-here=`pwd`
-tmp=/tmp/$$
-status=1	# failure is the default!
-trap "_cleanup; exit \$status" 0 1 2 3 15
-
-_cleanup()
-{
-	cd /
-	rm -f $tmp.*
-}
-
-# get standard environment, filters and checks
-. ./common/rc
-. ./common/filter
-. ./common/punch
-
-# real QA test starts here
-rm -f $seqres.full
-
-_crashtest()
-{
-	cmd=$1
-	img=$SCRATCH_MNT/$seq.img
-	mnt=$SCRATCH_MNT/$seq.mnt
-	file=$mnt/file
-
-	# Create an fs on a small, initialized image. The pattern is written to
-	# the image to detect stale data exposure.
-	$XFS_IO_PROG -f -c "truncate 0" -c "pwrite 0 25M" $img \
-		>> $seqres.full 2>&1
-	_mkfs_dev $img >> $seqres.full 2>&1
-
-	mkdir -p $mnt
-	_mount $img $mnt
-
-	echo $cmd
-
-	# write, run the test command and shutdown the fs
-	$XFS_IO_PROG -f -c "pwrite -S 1 0 64k" -c "$cmd 60k 4k" $file | \
-		_filter_xfs_io
-	./src/godown -f $mnt
-
-	$UMOUNT_PROG $mnt
-	_mount $img $mnt
-
-	# we generally expect a zero-sized file (this should be silent)
-	hexdump $file
-
-	$UMOUNT_PROG $mnt
-}
-
-# Modify as appropriate.
-_supported_fs generic
-_supported_os Linux
-_require_scratch
-_require_scratch_shutdown
-_require_xfs_io_command "falloc"
-_require_xfs_io_command "fpunch"
-_require_xfs_io_command "fzero"
-
-_scratch_mkfs >/dev/null 2>&1
-_scratch_mount
-
-_crashtest "falloc -k"
-_crashtest "fpunch"
-_crashtest "fzero -k"
-
-status=0
-exit
diff --git a/tests/xfs/053.out b/tests/xfs/053.out
deleted file mode 100644
index c777fe2..0000000
--- a/tests/xfs/053.out
+++ /dev/null
@@ -1,10 +0,0 @@
-QA output created by 053
-falloc -k
-wrote 65536/65536 bytes at offset 0
-XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
-fpunch
-wrote 65536/65536 bytes at offset 0
-XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
-fzero -k
-wrote 65536/65536 bytes at offset 0
-XXX Bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
diff --git a/tests/xfs/137 b/tests/xfs/137
deleted file mode 100755
index 6ec1bcb..0000000
--- a/tests/xfs/137
+++ /dev/null
@@ -1,106 +0,0 @@
-#! /bin/bash
-# FSQA Test No. 137
-#
-# Test for NULL files problem
-#
-#-----------------------------------------------------------------------
-# Copyright (c) 2006 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
-#
-#-----------------------------------------------------------------------
-#
-
-seq=`basename $0`
-seqres=$RESULT_DIR/$seq
-echo "QA output created by $seq"
-
-here=`pwd`
-tmp=/tmp/$$
-status=1    # failure is the default!
-trap "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 IRIX
-
-_require_scratch
-_require_scratch_shutdown
-_require_bmap
-_scratch_mkfs >/dev/null 2>&1
-_scratch_mount
-
-# create files
-i=1;
-while [ $i -lt 1000 ]
-do
-	file=$SCRATCH_MNT/$i
-	xfs_io -f -c "pwrite -b 64k -S 0xff 0 64k" $file > /dev/null
-	if [ $? -ne 0 ]
-	then
-		echo error creating/writing file $file
-		exit
-	fi
-	let i=$i+1
-done
-
-# give the system a chance to write something out
-sleep 10
-
-src/godown $SCRATCH_MNT
-
-umount $SCRATCH_MNT
-_scratch_mount
-umount $SCRATCH_MNT
-if [ ! _check_scratch_fs ]
-then
-	echo error detected in filesystem
-	exit
-fi
-_scratch_mount
-
-# check file size and contents
-i=1;
-while [ $i -lt 1000 ]
-do
-	file=$SCRATCH_MNT/$i
-	# if file does not exist, the create was not logged, skip it
-	if [ -e $file ]
-	then
-		# if file size is zero it cannot be corrupt, skip it
-		if [ -s $file ]
-		then
-			# if file has non-zero size but no extents then it's contents will be NULLs, bad.
-			if $BMAP_PROG $file | grep 'no extents' > /dev/null
-			then
-				echo corrupt file $file - non-zero size but no extents
-			elif $BMAP_PROG $file | grep 'hole' > /dev/null
-			then
-				echo corrupt file $file - contains holes
-			else
-				rm -f $file
-			fi
-		else
-			rm -f $file
-		fi
-	fi
-	let i=$i+1
-done
-
-status=0
-exit 
diff --git a/tests/xfs/137.out b/tests/xfs/137.out
deleted file mode 100644
index 0fd8b81..0000000
--- a/tests/xfs/137.out
+++ /dev/null
@@ -1 +0,0 @@
-QA output created by 137
diff --git a/tests/xfs/138 b/tests/xfs/138
deleted file mode 100755
index 9f12639..0000000
--- a/tests/xfs/138
+++ /dev/null
@@ -1,112 +0,0 @@
-#! /bin/bash
-# FSQA Test No. 138
-#
-# Test for NULL files problem
-#
-#-----------------------------------------------------------------------
-# Copyright (c) 2006 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
-#
-#-----------------------------------------------------------------------
-#
-
-seq=`basename $0`
-seqres=$RESULT_DIR/$seq
-echo "QA output created by $seq"
-
-here=`pwd`
-tmp=/tmp/$$
-status=1    # failure is the default!
-trap "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 IRIX
-
-_require_scratch
-_require_scratch_shutdown
-_require_bmap
-_scratch_mkfs >/dev/null 2>&1
-_scratch_mount
-
-# create files
-i=1;
-while [ $i -lt 1000 ]
-do
-	file=$SCRATCH_MNT/$i
-	xfs_io -f -c "pwrite -b 64k -S 0xff 0 64k" $file > /dev/null
-	if [ $? -ne 0 ]
-	then
-		echo error creating/writing file $file
-		exit
-	fi
-	xfs_io -c "truncate 64k" $file > /dev/null
-	if [ $? -ne 0 ]
-	then
-		echo error truncating file $file
-		exit
-	fi
-	let i=$i+1
-done
-
-# give the system a chance to write something out
-sleep 10
-
-src/godown $SCRATCH_MNT
-
-umount $SCRATCH_MNT
-_scratch_mount
-umount $SCRATCH_MNT
-if [ ! _check_scratch_fs ]
-then
-	echo error detected in filesystem
-	exit
-fi
-_scratch_mount
-
-# check file size and contents
-i=1;
-while [ $i -lt 1000 ]
-do
-	file=$SCRATCH_MNT/$i
-	# if file does not exist, the create was not logged, skip it
-	if [ -e $file ]
-	then
-		# if file size is zero it cannot be corrupt, skip it
-		if [ -s $file ]
-		then
-			# if file has non-zero size but no extents then it's contents will be NULLs, bad.
-			if $BMAP_PROG $file | grep 'no extents' > /dev/null
-			then
-				echo corrupt file $file - non-zero size but no extents
-			elif $BMAP_PROG $file | grep 'hole' > /dev/null
-			then
-				echo corrupt file $file - contains holes
-			else
-				rm -f $file
-			fi
-		else
-			rm -f $file
-		fi
-	fi
-	let i=$i+1
-done
-
-status=0
-exit 
diff --git a/tests/xfs/138.out b/tests/xfs/138.out
deleted file mode 100644
index f3eb411..0000000
--- a/tests/xfs/138.out
+++ /dev/null
@@ -1 +0,0 @@
-QA output created by 138
diff --git a/tests/xfs/139 b/tests/xfs/139
deleted file mode 100755
index 4baa1bc..0000000
--- a/tests/xfs/139
+++ /dev/null
@@ -1,112 +0,0 @@
-#! /bin/bash
-# FSQA Test No. 139
-#
-# Test for NULL files problem
-#
-#-----------------------------------------------------------------------
-# Copyright (c) 2006 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
-#
-#-----------------------------------------------------------------------
-#
-
-seq=`basename $0`
-seqres=$RESULT_DIR/$seq
-echo "QA output created by $seq"
-
-here=`pwd`
-tmp=/tmp/$$
-status=1    # failure is the default!
-trap "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 IRIX
-
-_require_scratch
-_require_scratch_shutdown
-_require_bmap
-_scratch_mkfs >/dev/null 2>&1
-_scratch_mount
-
-# create files
-i=1;
-while [ $i -lt 1000 ]
-do
-	file=$SCRATCH_MNT/$i
-	xfs_io -f -c "pwrite -b 64k -S 0xff 0 64k" $file > /dev/null
-	if [ $? -ne 0 ]
-	then
-		echo error creating/writing file $file
-		exit
-	fi
-	xfs_io -c "truncate 32k" $file > /dev/null
-	if [ $? -ne 0 ]
-	then
-		echo error truncating file $file
-		exit
-	fi
-	let i=$i+1
-done
-
-# give the system a chance to write something out
-sleep 10
-
-src/godown $SCRATCH_MNT
-
-umount $SCRATCH_MNT
-_scratch_mount
-umount $SCRATCH_MNT
-if [ ! _check_scratch_fs ]
-then
-	echo error detected in filesystem
-	exit
-fi
-_scratch_mount
-
-# check file size and contents
-i=1;
-while [ $i -lt 1000 ]
-do
-	file=$SCRATCH_MNT/$i
-	# if file does not exist, the create was not logged, skip it
-	if [ -e $file ]
-	then
-		# if file size is zero it cannot be corrupt, skip it
-		if [ -s $file ]
-		then
-			# if file has non-zero size but no extents then it's contents will be NULLs, bad.
-			if $BMAP_PROG $file | grep 'no extents' > /dev/null
-			then
-				echo corrupt file $file - non-zero size but no extents
-			elif $BMAP_PROG $file | grep 'hole' > /dev/null
-			then
-				echo corrupt file $file - contains holes
-			else
-				rm -f $file
-			fi
-		else
-			rm -f $file
-		fi
-	fi
-	let i=$i+1
-done
-
-status=0
-exit 
diff --git a/tests/xfs/139.out b/tests/xfs/139.out
deleted file mode 100644
index be0ebc2..0000000
--- a/tests/xfs/139.out
+++ /dev/null
@@ -1 +0,0 @@
-QA output created by 139
diff --git a/tests/xfs/140 b/tests/xfs/140
deleted file mode 100755
index aff835a..0000000
--- a/tests/xfs/140
+++ /dev/null
@@ -1,109 +0,0 @@
-#! /bin/bash
-# FSQA Test No. 140
-#
-# Test for NULL files problem
-#
-#-----------------------------------------------------------------------
-# Copyright (c) 2006 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
-#
-#-----------------------------------------------------------------------
-#
-
-seq=`basename $0`
-seqres=$RESULT_DIR/$seq
-echo "QA output created by $seq"
-
-here=`pwd`
-tmp=/tmp/$$
-status=1    # failure is the default!
-trap "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 IRIX
-
-_require_scratch
-_require_scratch_shutdown
-_require_bmap
-_scratch_mkfs >/dev/null 2>&1
-_scratch_mount
-
-# create files
-i=1;
-while [ $i -lt 1000 ]
-do
-	file=$SCRATCH_MNT/$i
-	xfs_io -f -c "pwrite -b 32k -S 0xff 0 32k" $file > /dev/null
-	if [ $? -ne 0 ]
-	then
-		echo error creating/writing file $file
-		exit
-	fi
-	xfs_io -c "truncate 64k" $file > /dev/null
-	if [ $? -ne 0 ]
-	then
-		echo error truncating file $file
-		exit
-	fi
-	let i=$i+1
-done
-
-# give the system a chance to write something out
-sleep 10
-
-src/godown $SCRATCH_MNT
-
-umount $SCRATCH_MNT
-_scratch_mount
-umount $SCRATCH_MNT
-if [ ! _check_scratch_fs ]
-then
-	echo error detected in filesystem
-	exit
-fi
-_scratch_mount
-
-# check file size and contents
-i=1;
-while [ $i -lt 1000 ]
-do
-	file=$SCRATCH_MNT/$i
-	# if file does not exist, the create was not logged, skip it
-	if [ -e $file ]
-	then
-		# if file size is zero it cannot be corrupt, skip it
-		if [ -s $file ]
-		then
-			# if file has non-zero size but no extents then it's contents will be NULLs, bad.
-			if $BMAP_PROG $file | grep 'no extents' > /dev/null
-			then
-				echo corrupt file $file - non-zero size but no extents
-			else
-				rm -f $file
-			fi
-		else
-			rm -f $file
-		fi
-	fi
-	let i=$i+1
-done
-
-status=0
-exit 
diff --git a/tests/xfs/140.out b/tests/xfs/140.out
deleted file mode 100644
index e6506b8..0000000
--- a/tests/xfs/140.out
+++ /dev/null
@@ -1 +0,0 @@
-QA output created by 140
diff --git a/tests/xfs/179 b/tests/xfs/179
deleted file mode 100755
index e71afae..0000000
--- a/tests/xfs/179
+++ /dev/null
@@ -1,107 +0,0 @@
-#! /bin/bash
-# FSQA Test No. 179
-#
-# Test for NULL files problem
-# test inode size is on disk after fsync
-#
-#-----------------------------------------------------------------------
-# Copyright (c) 2006 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
-#
-#-----------------------------------------------------------------------
-#
-
-seq=`basename $0`
-seqres=$RESULT_DIR/$seq
-echo "QA output created by $seq"
-
-here=`pwd`
-tmp=/tmp/$$
-status=1    # failure is the default!
-trap "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 IRIX
-
-_require_scratch
-_require_scratch_shutdown
-_require_bmap
-_scratch_mkfs >/dev/null 2>&1
-_scratch_mount
-
-_check_files()
-{
-	# check file size and contents
-	i=1;
-	while [ $i -lt 1000 ]
-	do
-		file=$SCRATCH_MNT/$i
-		# if file is missing then fsync failed
-		if [ -e $file ]
-		then
-			# if file size is not 32KB then fsync failed
-			if [ `ls -l $file | tr -s ' ' | cut -d ' ' -f 5` -eq 32768 ]
-			then
-				# if file has non-zero size but no extents then it's contents will be NULLs, bad.
-				if $BMAP_PROG $file | grep 'no extents' > /dev/null
-				then
-					echo corrupt file $file - non-zero size but no extents
-				else
-					rm -f $file
-				fi
-			else
-				echo file $file has incorrect size - fsync failed
-			fi
-		else
-			echo file $file missing - fsync failed
-		fi
-		let i=$i+1
-	done
-}
-
-# create files and fsync them
-i=1;
-while [ $i -lt 1000 ]
-do
-	file=$SCRATCH_MNT/$i
-	xfs_io -f -c "pwrite -b 32k -S 0xff 0 32k" -c "fsync" $file > /dev/null
-	if [ $? -ne 0 ]
-	then
-		echo error creating/writing file $file
-		exit
-	fi
-	let i=$i+1
-done
-
-# shutdown immediately after, then remount and test
-src/godown $SCRATCH_MNT
-umount $SCRATCH_MNT
-_scratch_mount
-umount $SCRATCH_MNT
-if [ ! _check_scratch_fs ]
-then
-	echo error detected in filesystem
-	exit
-fi
-_scratch_mount
-_check_files
-
-status=0
-exit
diff --git a/tests/xfs/179.out b/tests/xfs/179.out
deleted file mode 100644
index e5b0ba9..0000000
--- a/tests/xfs/179.out
+++ /dev/null
@@ -1 +0,0 @@
-QA output created by 179
diff --git a/tests/xfs/180 b/tests/xfs/180
deleted file mode 100755
index 9e9bf8d..0000000
--- a/tests/xfs/180
+++ /dev/null
@@ -1,111 +0,0 @@
-#! /bin/bash
-# FSQA Test No. 180
-#
-# Test for NULL files problem
-# test inode size is on disk after sync
-#
-#-----------------------------------------------------------------------
-# Copyright (c) 2006 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
-#
-#-----------------------------------------------------------------------
-#
-
-seq=`basename $0`
-seqres=$RESULT_DIR/$seq
-echo "QA output created by $seq"
-
-here=`pwd`
-tmp=/tmp/$$
-status=1    # failure is the default!
-trap "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 IRIX
-
-_require_scratch
-_require_scratch_shutdown
-_require_bmap
-_scratch_mkfs >/dev/null 2>&1
-_scratch_mount
-
-# Do we have enough space on disk?  10G
-_require_fs_space $SCRATCH_MNT 10485760
-
-_check_files()
-{
-	# check file size and contents
-	i=1;
-	while [ $i -lt 1000 ]
-	do
-		file=$SCRATCH_MNT/$i
-		# if file is missing then sync failed
-		if [ -e $file ]
-		then
-			# if file size is not 10MB then sync failed
-			if [ `ls -l $file | tr -s ' ' | cut -d ' ' -f 5` -eq 10485760 ]
-			then
-				# if file has non-zero size but no extents then it's contents will be NULLs, bad.
-				if $BMAP_PROG $file | grep 'no extents' > /dev/null
-				then
-					echo corrupt file $file - non-zero size but no extents
-				else
-					rm -f $file
-				fi
-			else
-				echo file $file has incorrect size - sync failed
-			fi
-		else
-			echo file $file missing - sync failed
-		fi
-		let i=$i+1
-	done
-}
-
-# create files and sync them
-i=1;
-while [ $i -lt 1000 ]
-do
-	file=$SCRATCH_MNT/$i
-	xfs_io -f -c "pwrite -b 64k -S 0xff 0 10m" $file > /dev/null
-	if [ $? -ne 0 ]
-	then
-		echo error creating/writing file $file
-		exit
-	fi
-	let i=$i+1
-done
-
-# sync, then shutdown immediately after, then remount and test
-sync
-src/godown $SCRATCH_MNT
-umount $SCRATCH_MNT
-_scratch_mount
-umount $SCRATCH_MNT
-if [ ! _check_scratch_fs ]
-then
-	echo error detected in filesystem
-	exit
-fi
-_scratch_mount
-_check_files
-
-status=0
-exit
diff --git a/tests/xfs/180.out b/tests/xfs/180.out
deleted file mode 100644
index 9035544..0000000
--- a/tests/xfs/180.out
+++ /dev/null
@@ -1 +0,0 @@
-QA output created by 180
diff --git a/tests/xfs/182 b/tests/xfs/182
deleted file mode 100755
index 68d872c..0000000
--- a/tests/xfs/182
+++ /dev/null
@@ -1,108 +0,0 @@
-#! /bin/bash
-# FSQA Test No. 182
-#
-# Test for NULL files problem
-# test inode size is on disk after sync - expose log replay bug
-#
-#-----------------------------------------------------------------------
-# Copyright (c) 2006 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
-#
-#-----------------------------------------------------------------------
-#
-
-seq=`basename $0`
-seqres=$RESULT_DIR/$seq
-echo "QA output created by $seq"
-
-here=`pwd`
-tmp=/tmp/$$
-status=1    # failure is the default!
-trap "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 IRIX
-
-_require_scratch
-_require_scratch_shutdown
-_require_bmap
-_scratch_mkfs >/dev/null 2>&1
-_scratch_mount
-
-_check_files()
-{
-	# check file size and contents
-	i=1;
-	while [ $i -lt 1000 ]
-	do
-		file=$SCRATCH_MNT/$i
-		# if file is missing then sync failed
-		if [ -e $file ]
-		then
-			# if file size is not 32KB then sync failed
-			if [ `ls -l $file | tr -s ' ' | cut -d ' ' -f 5` -eq 32768 ]
-			then
-				# if file has non-zero size but no extents then it's contents will be NULLs, bad.
-				if $BMAP_PROG $file | grep 'no extents' > /dev/null
-				then
-					echo corrupt file $file - non-zero size but no extents
-				else
-					rm -f $file
-				fi
-			else
-				echo file $file has incorrect size - sync failed
-			fi
-		else
-			echo file $file missing - sync failed
-		fi
-		let i=$i+1
-	done
-}
-
-# create files and sync them
-i=1;
-while [ $i -lt 1000 ]
-do
-	file=$SCRATCH_MNT/$i
-	xfs_io -f -c "pwrite -b 32k -S 0xff 0 32k" $file > /dev/null
-	if [ $? -ne 0 ]
-	then
-		echo error creating/writing file $file
-		exit
-	fi
-	let i=$i+1
-done
-
-# sync, then shutdown immediately after, then remount and test
-sync
-src/godown $SCRATCH_MNT
-umount $SCRATCH_MNT
-_scratch_mount
-umount $SCRATCH_MNT
-if [ ! _check_scratch_fs ]
-then
-	echo error detected in filesystem
-	exit
-fi
-_scratch_mount
-_check_files
-
-status=0
-exit
diff --git a/tests/xfs/182.out b/tests/xfs/182.out
deleted file mode 100644
index 5e665c8..0000000
--- a/tests/xfs/182.out
+++ /dev/null
@@ -1 +0,0 @@
-QA output created by 182
diff --git a/tests/xfs/200 b/tests/xfs/200
deleted file mode 100755
index f29feb9..0000000
--- a/tests/xfs/200
+++ /dev/null
@@ -1,127 +0,0 @@
-#! /bin/bash
-# FS QA Test No. 200
-#
-# Check out various mount/remount/unmount scenarious on a read-only blockdev.
-#
-#-----------------------------------------------------------------------
-# Copyright (c) 2009 Christoph Hellwig.
-#
-# 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
-#-----------------------------------------------------------------------
-#
-
-seq=`basename $0`
-seqres=$RESULT_DIR/$seq
-echo "QA output created by $seq"
-
-here=`pwd`
-tmp=/tmp/$$
-status=1	# failure is the default!
-
-_cleanup()
-{
-	cd /
-	blockdev --setrw $SCRATCH_DEV
-}
-trap "_cleanup; 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
-
-_require_scratch_nocheck
-_require_scratch_shutdown
-_require_norecovery
-
-_scratch_mkfs >/dev/null 2>&1
-
-#
-# Mark the device read-only
-#
-echo "setting device read-only"
-blockdev --setro $SCRATCH_DEV
-
-#
-# Mount it, and make sure we can't write to it, and we can unmount it again
-#
-echo "mounting read-only block device:"
-_scratch_mount 2>&1 | _filter_scratch | _filter_ro_mount
-
-echo "touching file on read-only filesystem (should fail)"
-touch $SCRATCH_MNT/foo 2>&1 | _filter_scratch
-
-#
-# Apparently this used to be broken at some point:
-#	http://oss.sgi.com/bugzilla/show_bug.cgi?id=807
-#
-echo "unmounting read-only filesystem"
-umount $SCRATCH_MNT 2>&1 | _filter_scratch
-
-echo "setting device read-write"
-blockdev --setrw $SCRATCH_DEV
-
-echo "mounting read-write block device:"
-_scratch_mount 2>&1 | _filter_scratch
-
-echo "touch files"
-touch $SCRATCH_MNT/{0,1,2,3,4,5,6,7,8,9}{0,1,2,3,4,5,6,7,8,9}
-
-echo "going down:"
-src/godown -f $SCRATCH_MNT
-
-echo "unmounting shutdown filesystem:"
-umount $SCRATCH_MNT 2>&1 | _filter_scratch
-
-echo "setting device read-only"
-blockdev --setro $SCRATCH_DEV
-
-#
-# Mounting a filesystem that requires log-recovery fails unless
-# -o norecovery is used.
-#
-echo "mounting filesystem that needs recovery on a read-only device:"
-_scratch_mount 2>&1 | _filter_scratch | _filter_ro_mount
-
-echo "unmounting read-only filesystem"
-umount $SCRATCH_MNT 2>&1 | _filter_scratch
-
-#
-# This is the way out if the underlying device really is read-only.
-# Doesn't mean it's a good idea in practive, more a last resort
-# data recovery hack.
-#
-echo "mounting filesystem with -o norecovery on a read-only device:"
-_scratch_mount -o norecovery 2>&1 | _filter_scratch | _filter_ro_mount
-
-echo "unmounting read-only filesystem"
-umount $SCRATCH_MNT 2>&1 | _filter_scratch
-
-echo "setting device read-write"
-blockdev --setrw $SCRATCH_DEV
-
-#
-# But log recovery is performed when mount with -o ro as long as
-# the underlying device is not write protected.
-#
-echo "mounting filesystem that needs recovery with -o ro:"
-_scratch_mount -o ro 2>&1 | _filter_scratch 
-
-# success, all done
-echo "*** done"
-rm -f $seqres.full
-status=0
diff --git a/tests/xfs/200.out b/tests/xfs/200.out
deleted file mode 100644
index 40f9163..0000000
--- a/tests/xfs/200.out
+++ /dev/null
@@ -1,24 +0,0 @@
-QA output created by 200
-setting device read-only
-mounting read-only block device:
-mount: SCRATCH_DEV is write-protected, mounting read-only
-touching file on read-only filesystem (should fail)
-touch: cannot touch 'SCRATCH_MNT/foo': Read-only file system
-unmounting read-only filesystem
-setting device read-write
-mounting read-write block device:
-touch files
-going down:
-unmounting shutdown filesystem:
-setting device read-only
-mounting filesystem that needs recovery on a read-only device:
-mount: SCRATCH_DEV is write-protected, mounting read-only
-mount: cannot mount SCRATCH_DEV read-only
-unmounting read-only filesystem
-umount: SCRATCH_MNT: not mounted
-mounting filesystem with -o norecovery on a read-only device:
-mount: SCRATCH_DEV is write-protected, mounting read-only
-unmounting read-only filesystem
-setting device read-write
-mounting filesystem that needs recovery with -o ro:
-*** done
diff --git a/tests/xfs/306 b/tests/xfs/306
deleted file mode 100755
index 71f352e..0000000
--- a/tests/xfs/306
+++ /dev/null
@@ -1,105 +0,0 @@
-#!/bin/bash
-# FS QA Test No. xfs/306
-#
-# Basic log recovery stress test - do lots of stuff, shut down in the middle of
-# it and check that recovery runs to completion and everything can be
-# successfully removed afterwards..
-#
-#-----------------------------------------------------------------------
-# Copyright (c) 2013 Red Hat, 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
-#
-#-----------------------------------------------------------------------
-#
-
-seq=`basename $0`
-seqres=$RESULT_DIR/$seq
-echo "QA output created by $seq"
-
-here=`pwd`
-tmp=/tmp/$$
-status=1	# failure is the default!
-
-# get standard environment, filters and checks
-. ./common/rc
-. ./common/filter
-
-_cleanup()
-{
-	cd /
-	umount $SCRATCH_MNT 2>/dev/null
-	rm -f $tmp.*
-}
-trap "_cleanup; exit \$status" 0 1 2 3 15
-
-# real QA test starts here
-_supported_fs generic
-_supported_os Linux
-
-_require_scratch
-_require_scratch_shutdown
-
-rm -f $seqres.full
-
-_scratch_mkfs > $seqres.full 2>&1
-_scratch_mount
-
-SLEEP_TIME=$((30 * $TIME_FACTOR))
-PROCS=$((2 * LOAD_FACTOR))
-
-load_dir=$SCRATCH_MNT/test
-
-# let this run for a while
-$FSSTRESS_PROG -n10000000 -p $PROCS -d $load_dir >> $seqres.full 2>&1 &
-sleep $SLEEP_TIME
-killall -q $FSSTRESS_PROG
-wait
-sync
-umount $SCRATCH_MNT
-
-# now mount again, run the load again, this time with a shutdown.
-_scratch_mount
-$XFS_FSR_PROG -v $load_dir >> $seqres.full 2>&1
-$FSSTRESS_PROG -n10000000 -p $PROCS -d $load_dir >> $seqres.full 2>&1 &
-sleep $SLEEP_TIME
-sync
-
-# now shutdown and unmount
-sleep 5
-$here/src/godown $load_dir
-killall -q $FSSTRESS_PROG
-wait
-
-# for some reason fsstress processes manage to live on beyond the wait?
-sleep 5
-umount $SCRATCH_MNT
-
-# now recover, check the filesystem for consistency
-_scratch_mount
-umount $SCRATCH_MNT
-_check_scratch_fs
-
-# now clean up.
-_scratch_mount
-for d in $load_dir/*; do
-        rm -rf $d > /dev/null 2>&1 &
-done
-wait
-umount $SCRATCH_MNT
-
-echo "No output is good. Failures are loud."
-
-status=0
-exit
diff --git a/tests/xfs/306.out b/tests/xfs/306.out
deleted file mode 100644
index 9fd18a4..0000000
--- a/tests/xfs/306.out
+++ /dev/null
@@ -1,2 +0,0 @@
-QA output created by 306
-No output is good. Failures are loud.
diff --git a/tests/xfs/group b/tests/xfs/group
index 496630d..4099793 100644
--- a/tests/xfs/group
+++ b/tests/xfs/group
@@ -50,7 +50,6 @@
 050 quota auto quick
 051 auto log metadata
 052 quota db auto quick
-053 auto quick rw
 054 quota auto quick
 055 dump ioctl remote tape
 056 dump ioctl auto quick
@@ -99,10 +98,6 @@
 122 other auto quick
 134 quota auto quick
 136 attr2
-137 metadata log auto
-138 metadata log auto
-139 metadata log auto
-140 metadata log auto
 142 dmapi
 143 dmapi
 144 dmapi
@@ -139,10 +134,7 @@
 176 dmapi
 177 dmapi
 178 mkfs other auto
-179 metadata rw auto
-180 metadata rw auto
 181 log auto quick
-182 metadata rw auto
 183 rw other auto quick
 185 dmapi
 186 attr auto quick
@@ -156,7 +148,6 @@
 196 quota auto quick
 197 dir auto quick
 199 mount auto quick
-200 mount auto quick
 201 metadata auto quick
 202 repair auto quick
 203 ioctl auto
@@ -201,4 +192,3 @@
 303 auto quick quota
 304 auto quick quota
 305 auto quota
-306 auto stress log metadata repair
-- 
2.1.1


  parent reply	other threads:[~2015-02-03 23:07 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-03 23:07 [PATCH 0/8 v4] make xfs/tests generic by introducing shutdown for filesystems Jaegeuk Kim
2015-02-03 23:07 ` [PATCH 1/8 v4] common/rc: add _require_scratch_shtudown Jaegeuk Kim
2015-02-05  2:01   ` Dave Chinner
2015-02-03 23:07 ` [PATCH 2/8 v4] common/rc: add _require_bmap Jaegeuk Kim
2015-02-05  2:05   ` Dave Chinner
2015-02-03 23:07 ` [PATCH 3/8 v4] common/rc: add _require_norecovery Jaegeuk Kim
2015-02-05  2:08   ` Dave Chinner
2015-02-03 23:07 ` [PATCH 4/8 v4] tests/xfs: convert 10 xfs's tests to be generic ones Jaegeuk Kim
2015-02-05  2:11   ` Dave Chinner
2015-02-03 23:07 ` Jaegeuk Kim [this message]
2015-02-05  2:19   ` [PATCH 5/8 v4] tests/generic: relocate xfs's tests into tests/generic/ Dave Chinner
2015-02-03 23:07 ` [PATCH 6/8 v4] common/rc: define dump.f2fs and logstate for f2fs Jaegeuk Kim
2015-02-05  2:48   ` Dave Chinner
2015-02-03 23:07 ` [PATCH 7/8 v4] tests/xfs: add f2fs testcase and convert them being generic Jaegeuk Kim
2015-02-05  3:12   ` Dave Chinner
2015-02-03 23:07 ` [PATCH 8/8 v4] tests/generic: relocate four xfs's tests into tests/generic/ Jaegeuk Kim

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1423004840-45315-6-git-send-email-jaegeuk@kernel.org \
    --to=jaegeuk@kernel.org \
    --cc=david@fromorbit.com \
    --cc=fstests@vger.kernel.org \
    --cc=linux-f2fs-devel@lists.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.