From 544262ae10d9f404edcec742a6b0664e6b57ff7f Mon Sep 17 00:00:00 2001 From: Dave Chinner Date: Sat, 6 Mar 2010 11:25:10 +1100 Subject: [PATCH] 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 Reviewed-by: Christoph Hellwig --- 104 | 4 ++++ 204 | 4 ++++ 205 | 4 ++++ common.rc | 11 +++++++++++ 4 files changed, 23 insertions(+) diff --git a/104 b/104 index b35c43bc..14f2669c 100755 --- a/104 +++ b/104 @@ -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() diff --git a/204 b/204 index 8b94f608..9f4839c7 100755 --- a/204 +++ b/204 @@ -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 diff --git a/205 b/205 index 3f45185c..35d69929 100755 --- a/205 +++ b/205 @@ -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 diff --git a/common.rc b/common.rc index d71e0a2d..2103a775 100644 --- a/common.rc +++ b/common.rc @@ -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="" -- 2.47.3