[PATCH 2/2] xfs/157,xfs/547,xfs/548: switch to using _scratch_mkfs_sized

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]



From: Hans Holmberg <Hans.Holmberg@xxxxxxx>

These test cases specify small -d sizes which combined with a rt dev of
unrestricted size and the rtrmap feature can cause mkfs to fail with
error:

mkfs.xfs: cannot handle expansion of realtime rmap btree; need <x> free
blocks, have <y>

This is due to that the -d size is not big enough to support the
metadata space allocation required for the rt groups.

Switch to use _scratch_mkfs_sized that sets up the -r size parameter
to avoid this. If -r size=x and -d size=x we will not risk running
out of space on the ddev as the metadata size is just a fraction of
the rt data size.

Signed-off-by: Hans Holmberg <hans.holmberg@xxxxxxx>
Signed-off-by: Christoph Hellwig <hch@xxxxxx>
---
 tests/xfs/157 | 12 ++++++++----
 tests/xfs/547 |  4 +++-
 tests/xfs/548 |  2 +-
 3 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/tests/xfs/157 b/tests/xfs/157
index 79d45ac2bb34..9b5badbaeb3c 100755
--- a/tests/xfs/157
+++ b/tests/xfs/157
@@ -34,18 +34,21 @@ _require_test
 _require_scratch_nocheck
 _require_command "$XFS_ADMIN_PROG" "xfs_admin"
 
+
 # Create some fake sparse files for testing external devices and whatnot
+fs_size=$((500 * 1024 * 1024))
+
 fake_datafile=$TEST_DIR/$seq.scratch.data
 rm -f $fake_datafile
-truncate -s 500m $fake_datafile
+truncate -s $fs_size $fake_datafile
 
 fake_logfile=$TEST_DIR/$seq.scratch.log
 rm -f $fake_logfile
-truncate -s 500m $fake_logfile
+truncate -s $fs_size $fake_logfile
 
 fake_rtfile=$TEST_DIR/$seq.scratch.rt
 rm -f $fake_rtfile
-truncate -s 500m $fake_rtfile
+truncate -s $fs_size $fake_rtfile
 
 # Save the original variables
 orig_ddev=$SCRATCH_DEV
@@ -63,7 +66,8 @@ scenario() {
 }
 
 check_label() {
-	_scratch_mkfs -L oldlabel >> $seqres.full
+	MKFS_OPTIONS="-L oldlabel $MKFS_OPTIONS" _scratch_mkfs_sized $fs_size \
+		>> $seqres.full
 	_scratch_xfs_db -c label
 	_scratch_xfs_admin -L newlabel "$@" >> $seqres.full
 	_scratch_xfs_db -c label
diff --git a/tests/xfs/547 b/tests/xfs/547
index eada4aadc27f..ffac546be4cd 100755
--- a/tests/xfs/547
+++ b/tests/xfs/547
@@ -24,10 +24,12 @@ _require_xfs_db_command path
 _require_test_program "punch-alternating"
 _require_xfs_io_error_injection "bmap_alloc_minlen_extent"
 
+fs_size=$((512 * 1024 * 1024))
+
 for nrext64 in 0 1; do
 	echo "* Verify extent counter fields with nrext64=${nrext64} option"
 
-	_scratch_mkfs -i nrext64=${nrext64} -d size=$((512 * 1024 * 1024)) \
+	MKFS_OPTIONS="-i nrext64=${nrext64} $MKFS_OPTIONS" _scratch_mkfs_sized $fs_size \
 		      >> $seqres.full
 	_scratch_mount >> $seqres.full
 
diff --git a/tests/xfs/548 b/tests/xfs/548
index f0b58563e64d..af72885a9c6e 100755
--- a/tests/xfs/548
+++ b/tests/xfs/548
@@ -24,7 +24,7 @@ _require_xfs_db_command path
 _require_test_program "punch-alternating"
 _require_xfs_io_error_injection "bmap_alloc_minlen_extent"
 
-_scratch_mkfs -d size=$((512 * 1024 * 1024)) >> $seqres.full
+_scratch_mkfs_sized $((512 * 1024 * 1024)) >> $seqres.full
 _scratch_mount >> $seqres.full
 
 bsize=$(_get_file_block_size $SCRATCH_MNT)
-- 
2.34.1





[Index of Archives]     [Linux Filesystems Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux