On Mon, Jun 23, 2014 at 3:54 PM, Lukas Czerner <lczerner@xxxxxxxxxx> wrote: > 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> Tested-by: Filipe Manana <fdmanana@xxxxxxxxx> Works for btrfs. So please ignore the workaround patch I sent earlier today. Thanks Lukas > --- > 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 > -- Filipe David Manana, "Reasonable men adapt themselves to the world. Unreasonable men adapt the world to themselves. That's why all progress depends on unreasonable men." -- 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