From 448efe1309901f7e838f72ea3c28fc0598670a4c Mon Sep 17 00:00:00 2001 From: Lukas Czerner Date: Tue, 14 Oct 2014 17:40:32 +1100 Subject: [PATCH] generic/017: Do not create file systems with different block sizes User takes care about specifying mkfs options he wishes to test and the test itself should not change it if it's not strictly necessary for the test itself. In this case it is not necessary and we should only test configuration provided by the user. Moreover if the block size was already specified some mkfs utilities does not handle multiple of the same parameters and the mkfs utility fails making it re-try with only provided options (ignoring what user specified), which is wrong. In this case it's also a problem for btrfs file system which does not support block size < page size. Fix it by removing the mkfs, and testing existing configuration only. Signed-off-by: Lukas Czerner Reviewed-by: Dave Chinner Signed-off-by: Dave Chinner --- tests/generic/017 | 46 +++++++++++++++---------------------------- tests/generic/017.out | 2 -- 2 files changed, 16 insertions(+), 32 deletions(-) diff --git a/tests/generic/017 b/tests/generic/017 index 13b7254d..5fe46281 100755 --- a/tests/generic/017 +++ b/tests/generic/017 @@ -46,45 +46,31 @@ _require_scratch _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 diff --git a/tests/generic/017.out b/tests/generic/017.out index cc524ac5..ea9a7a8e 100644 --- a/tests/generic/017.out +++ b/tests/generic/017.out @@ -1,4 +1,2 @@ QA output created by 017 80 -80 -80 -- 2.39.5