016: Do not discard blocks at mkfs time

The test 016 fills scratch device with some data and then creates xfs fs
on the scratch device. Later, the test assumes that the previously
written data are still written there and checks for them at specific
locations. On ssd drive this will lead to a failure since the blocks are
discarded by default when the mkfs command is run.
This is a more verbose version of the previous patch.
This simple patch that adds -K to stop the discarding (if the mkfs
command supports it) fixed the issue for me:

Signed-off-by: Boris Ranto <branto@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
This commit is contained in:
Boris Ranto
2012-05-30 17:39:29 -05:00
committed by Eric Sandeen
parent 90f99484dc
commit b748511b81
+9
View File
@@ -65,6 +65,15 @@ _init()
$here/src/devzero -b 2048 -n 50 -v 198 $SCRATCH_DEV
echo "*** mkfs"
force_opts="-dsize=50m -lsize=$log_size"
#
# Do not discard blocks as we check for patterns in free space.
#
# First, make sure that mkfs supports '-K' option by using its
# dry run (-N option) and then add it to the force_opts.
#
if _scratch_mkfs_xfs -N -K $force_opts >/dev/null 2>&1; then
force_opts="-K $force_opts"
fi
echo mkfs_xfs $force_opts $SCRATCH_DEV >>$seq.full
_scratch_mkfs_xfs $force_opts >$tmp.mkfs0 2>&1
[ $? -ne 0 ] && \