xfsqa: define resblks for tests near ENOSPC

Several tests assume a certain amount of disk space free after the
reserve block pool is filled. Changing the default size of the
reserve block pool breaks these tests because there is less space
available that first thought.

Change these tests to specify a known reserve block pool size of
1024 blocks to ensure that they continue to work correctly even if
the default size changes.

Signed-off-by: Dave Chinner <david@fromorbit.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
Dave Chinner
2010-03-06 11:25:10 +11:00
parent db5926819a
commit 544262ae10
4 changed files with 23 additions and 0 deletions
+4
View File
@@ -48,6 +48,10 @@ _create_scratch()
echo "failed to mount $SCRATCH_DEV"
exit 1
fi
# fix the reserve block pool to a known size so that the enospc
# calculations work out correctly.
_scratch_resvblks 1024 > /dev/null 2>&1
}
_fill_scratch()
+4
View File
@@ -44,6 +44,10 @@ SIZE=`expr 104 \* 1024 \* 1024`
_scratch_mkfs_sized $SIZE &> /dev/null
_scratch_mount
# fix the reserve block pool to a known size so that the enospc calculations
# work out correctly.
_scratch_resvblks 1024 > $seq.full 2>&1
for i in `seq 1 22500`; do
echo -n > $SCRATCH_MNT/$i
echo XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX > $SCRATCH_MNT/$i
+4
View File
@@ -43,6 +43,10 @@ _require_scratch
_scratch_mkfs_xfs -d size=16m -b size=512 >/dev/null
_scratch_mount
# fix the reserve block pool to a known size so that the enospc calculations
# work out correctly.
_scratch_resvblks 1024 > $seq.full 2>&1
# on a 16MB filesystem, there's 32768x512byte blocks. used is:
# - 4944 in the log,
# - 32+1 for the root inode cluster
+11
View File
@@ -361,6 +361,17 @@ _scratch_mkfs_geom()
_scratch_mkfs
}
_scratch_resvblks()
{
case $FSTYP in
xfs)
xfs_io -x -c "resblks $1" $SCRATCH_MNT
;;
*)
;;
esac
}
_scratch_xfs_db_options()
{
SCRATCH_OPTIONS=""