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 <lczerner@xxxxxxxxxx> --- tests/generic/017 | 46 +++++++++++++++++----------------------------- tests/generic/017.out | 2 -- 2 files changed, 17 insertions(+), 31 deletions(-) diff --git a/tests/generic/017 b/tests/generic/017 index 13b7254..11705bf 100755 --- a/tests/generic/017 +++ b/tests/generic/017 @@ -49,41 +49,29 @@ _do_die_on_error=y 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 +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 +# Check if 80 extents are present +$XFS_IO_PROG -c "fiemap -v" $testfile | grep "^ *[0-9]*:" |wc -l - umount $SCRATCH_MNT -done +_check_scratch_fs +if [ $? -ne 0 ]; then + status=1 + exit +fi # success, all done status=0 diff --git a/tests/generic/017.out b/tests/generic/017.out index cc524ac..ea9a7a8 100644 --- a/tests/generic/017.out +++ b/tests/generic/017.out @@ -1,4 +1,2 @@ QA output created by 017 80 -80 -80 -- 1.8.3.1 -- To unsubscribe from this list: send the line "unsubscribe fstests" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html