common: _scratch_mkfs_sized inherent default block size from MKFS_OPTIONS
[xfstests-dev.git] / common / rc
index fca845899f346bd643606829178aa6080acb9d5e..40356988ad873b0e596055de1df285dd2a76fa36 100644 (file)
--- a/common/rc
+++ b/common/rc
@@ -582,8 +582,20 @@ _scratch_mkfs_sized()
 {
     fssize=$1
     blocksize=$2
+
+    case $FSTYP in
+    xfs)
+       def_blksz=`echo $MKFS_OPTIONS|sed -rn 's/.*-b ?size= ?+([0-9]+).*/\1/p'`
+       ;;
+    ext2|ext3|ext4|ext4dev|udf|btrfs)
+       def_blksz=`echo $MKFS_OPTIONS| sed -rn 's/.*-b ?+([0-9]+).*/\1/p'`
+       ;;
+    esac
+
+    [ -n "$def_blksz" ] && blocksize=$def_blksz
     [ -z "$blocksize" ] && blocksize=4096
 
+
     re='^[0-9]+$'
     if ! [[ $fssize =~ $re ]] ; then
         _notrun "error: _scratch_mkfs_sized: fs size \"$fssize\" not an integer."