xfs/104: don't enospc when ag metadata overhead grows

Adapt to different metadata overhead sizes by trying to reserve
decreasing amounts of disk space until we actually succeed at it.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Eryu Guan <eguan@redhat.com>
This commit is contained in:
Darrick J. Wong
2016-05-25 22:57:08 -07:00
committed by Eryu Guan
parent b936f63c27
commit b5e26de924
+7 -2
View File
@@ -88,9 +88,14 @@ sizeb=`expr $size / $dbsize` # in data blocks
echo "*** creating scratch filesystem"
_create_scratch -lsize=10m -dsize=${size} -dagcount=${nags}
fillsize=`expr 110 \* 1048576` # 110 megabytes of filling
echo "*** using some initial space on scratch filesystem"
_fill_scratch $fillsize
for i in `seq 125 -1 90`; do
fillsize=`expr $i \* 1048576`
out="$(_fill_scratch $fillsize 2>&1)"
echo "$out" | grep -q 'No space left on device' && continue
test -n "${out}" && echo "$out"
break
done
#
# Grow the filesystem while actively stressing it...