[PATCH 2/3] [XFSQA] Add simple delayed allocation ENOSPC test.

Dave Chinner
2009-03-15T10:50:58Z

Using a small (100MB) filesystem and writing lots of
single block files can result in spurious ENOSPCs
being reported. Reproduce this test case so we can confirm
that it gets fixed.

Signed-off-by: Dave Chinner <david@fromorbit.com>
---
203 | 41 +++++++++++++++++++++++++++++++++++++++++
203.out | 2 ++
group | 1 +
3 files changed, 44 insertions(+), 0 deletions(-)
create mode 100755 203
create mode 100644 203.out

diff --git a/203 b/203
new file mode 100755
index 0000000..16c5714
--- /dev/null
+++ b/203
@@ -0,0 +1,41 @@
+#! /bin/sh
+# FS QA Test No. 203
+#
+# Test out ENOSPC flushiung on small filesystems.
+#
+#-----------------------------------------------------------------------
+# Copyright (c) 2009 Christoph Hellwig.
+#-----------------------------------------------------------------------
+#
+# creator
+owner=hch@lst.de
+
+seq=`basename $0`
+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
+
+# real QA test starts here
+_supported_fs xfs
+_supported_os Linux
+
+_require_scratch
+
+_scratch_mkfs_xfs -d size=104m >/dev/null
+_scratch_mount
+
+for i in `seq 1 22500`; do
+ echo -n > $SCRATCH_MNT/$i
+ echo XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX > $SCRATCH_MNT/$i
+done
+
+# success, all done
+echo "*** done"
+rm -f $seq.full
+status=0
diff --git a/203.out b/203.out
new file mode 100644
index 0000000..f7476c0
--- /dev/null
+++ b/203.out
@@ -0,0 +1,2 @@
+QA output created by 203
+*** done
diff --git a/group b/group
index 35f02fc..0a51d9a 100644
--- a/group
+++ b/group
@@ -307,3 +307,4 @@ atime
200 mount auto quick
201 metadata auto quick
202 repair auto quick
+203 metadata rw auto
--
1.6.2