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
next prev 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.