_require_xfs_io_command "fiemap"
 _require_xfs_io_command "fcollapse"
 _do_die_on_error=y
+
+_scratch_mkfs > /dev/null 2>&1
+_scratch_mount
+
 testfile=$SCRATCH_MNT/$seq.$$
 BLOCKS=10240
 
-for (( BSIZE = 1024; BSIZE <= 4096; BSIZE *= 2 )); do
+BSIZE=`get_block_size $SCRATCH_MNT`
 
-       length=$(($BLOCKS * $BSIZE))
-       case $FSTYP in
-       xfs)
-       _scratch_mkfs -b size=$BSIZE >> $seqres.full 2>&1
-       ;;
-       ext4)
-       _scratch_mkfs -b $BSIZE >> $seqres.full 2>&1
-       ;;
-       esac
-       _scratch_mount >> $seqres.full 2>&1
+length=$(($BLOCKS * $BSIZE))
 
-       # Write file
-       $XFS_IO_PROG -f -c "pwrite 0 $length" -c fsync $testfile > /dev/null
+# Write file
+$XFS_IO_PROG -f -c "pwrite 0 $length" -c fsync $testfile > /dev/null
 
-       # Collapse alternate blocks 
-       for (( i = 1; i <= 7; i++ )); do
-               for (( j=0; j < $(($BLOCKS/(2**$i))); j++ )); do
-                       offset=$(($j*$BSIZE))
-                       $XFS_IO_PROG -c "fcollapse $offset $BSIZE" $testfile > /dev/null
-               done
+# Collapse alternate blocks 
+for (( i = 1; i <= 7; i++ )); do
+       for (( j=0; j < $(($BLOCKS/(2**$i))); j++ )); do
+               offset=$(($j*$BSIZE))
+               $XFS_IO_PROG -c "fcollapse $offset $BSIZE" $testfile > /dev/null
        done
-
-       # Check if 80 extents are present
-       $XFS_IO_PROG -c "fiemap -v" $testfile | grep "^ *[0-9]*:" |wc -l
-
-       _check_scratch_fs
-       if [ $? -ne 0 ]; then
-               status=1
-               exit
-       fi
-
-       umount $SCRATCH_MNT
 done
 
+# Check if 80 extents are present
+$XFS_IO_PROG -c "fiemap -v" $testfile | grep "^ *[0-9]*:" |wc -l
+
 # success, all done
 status=0
 exit