xfs
[Top] [All Lists]

[PATCH] xfstests 016: Do not discard blocks at the mkfs time, more verbo

To: xfs <xfs@xxxxxxxxxxx>
Subject: [PATCH] xfstests 016: Do not discard blocks at the mkfs time, more verbose version
From: Boris Ranto <branto@xxxxxxxxxx>
Date: Fri, 28 Oct 2011 05:38:06 -0400 (EDT)
Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx>, Eric Sandeen <esandeen@xxxxxxxxxx>
In-reply-to: <1319625983.3074.28.camel@xxxxxxxxxxxxxxxxxxxxxxxxxx>
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@xxxxxxxxxx>

diff --git a/016 b/016
index 9275ade..08a73f4 100755
--- a/016
+++ b/016
@@ -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 ] && \

<Prev in Thread] Current Thread [Next in Thread>