diff mbox series

[1/2] fstests: btrfs streamlining mkfs command for post-mkfs operations

Message ID 728cfa8f2ce67d2b260851e10d4922fd710364e2.1695543976.git.anand.jain@oracle.com (mailing list archive)
State New, archived
Headers show
Series fstests: add config option to run after mkfs | expand

Commit Message

Anand Jain Sept. 28, 2023, 4:23 a.m. UTC
To prepare for adding post-mkfs operations support for Btrfs, streamline
the mkfs command functions.

Signed-off-by: Anand Jain <anand.jain@oracle.com>
---
 common/btrfs | 21 +++++++++++++++++++++
 common/rc    | 13 ++++++++-----
 2 files changed, 29 insertions(+), 5 deletions(-)
diff mbox series

Patch

diff --git a/common/btrfs b/common/btrfs
index c9903a413cb0..798c899f6233 100644
--- a/common/btrfs
+++ b/common/btrfs
@@ -689,3 +689,24 @@  _require_btrfs_scratch_logical_resolve_v2()
 	fi
 	_scratch_unmount
 }
+
+_scratch_mkfs_retry_btrfs()
+{
+	# _scratch_do_mkfs() may retry mkfs without $MKFS_OPTIONS
+	_scratch_do_mkfs "$MKFS_BTRFS_PROG" "cat" $*
+
+	return $?
+}
+
+_scratch_mkfs_btrfs()
+{
+	$MKFS_BTRFS_PROG $MKFS_OPTIONS $mixed_opt -b $fssize $SCRATCH_DEV
+	return $?
+}
+
+_scratch_pool_mkfs_btrfs()
+{
+	$MKFS_BTRFS_PROG $MKFS_OPTIONS $* $SCRATCH_DEV_POOL
+
+	return $?
+}
diff --git a/common/rc b/common/rc
index a438a8de1461..2e602caa2f3b 100644
--- a/common/rc
+++ b/common/rc
@@ -729,8 +729,8 @@  _scratch_mkfs()
 		mkfs_filter="cat"
 		;;
 	btrfs)
-		mkfs_cmd="$MKFS_BTRFS_PROG"
-		mkfs_filter="cat"
+		_scratch_mkfs_retry_btrfs $*
+		return $?
 		;;
 	ext3)
 		mkfs_cmd="$MKFS_PROG -t $FSTYP -- -F"
@@ -881,7 +881,7 @@  _scratch_pool_mkfs()
 {
     case $FSTYP in
     btrfs)
-        $MKFS_BTRFS_PROG $MKFS_OPTIONS $* $SCRATCH_DEV_POOL > /dev/null
+	_scratch_pool_mkfs_btrfs $*
         ;;
     *)
         echo "_scratch_pool_mkfs is not implemented for $FSTYP" 1>&2
@@ -1018,7 +1018,10 @@  _scratch_mkfs_sized()
 		# the device is not zoned. Ref: btrfs-progs: btrfs_min_dev_size()
 		(( fssize < $((256 * 1024 * 1024)) )) &&
 			! _scratch_btrfs_is_zoned && mixed_opt='--mixed'
-		$MKFS_BTRFS_PROG $MKFS_OPTIONS $mixed_opt -b $fssize $SCRATCH_DEV
+
+		# _scratch_mkfs_btrfs appends $MKFS_OPTIONS and ends with
+		# $SCRATCH_DEV
+		_scratch_mkfs_btrfs $mixed_opt -b $fssize
 		;;
 	jfs)
 		${MKFS_PROG} -t $FSTYP $MKFS_OPTIONS $SCRATCH_DEV $blocks
@@ -1112,7 +1115,7 @@  _scratch_mkfs_blocksized()
 		grep -wq $blocksize /sys/fs/btrfs/features/supported_sectorsizes || \
 		_notrun "$FSTYP does not support sectorsize=$blocksize yet"
 
-		_scratch_mkfs --sectorsize=$blocksize
+		_scratch_mkfs_retry_btrfs --sectorsize=$blocksize
 		;;
 	xfs)
 		_scratch_mkfs_xfs $MKFS_OPTIONS -b size=$blocksize