From: Darrick J. Wong Date: Wed, 23 Mar 2016 06:37:31 +0000 (+1100) Subject: reflink: fix fragmentation tests to work on >4k block size filesystems X-Git-Tag: v2022.05.01~2575 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=3907442866dba11776da267e24856e2c0bb6e2a1;p=xfstests-dev.git reflink: fix fragmentation tests to work on >4k block size filesystems For tests that only overwrite part of a file, only consider the number of extents in the *rewritten* blocks when deciding if the FS fragmentation performance is satisfactory. (Also slip in a fix for xfs/127 so that it formats correctly when we specify big blocksizes via MKFS_OPTIONS.) Signed-off-by: Darrick J. Wong Reviewed-by: Christoph Hellwig Signed-off-by: Dave Chinner --- diff --git a/tests/xfs/127 b/tests/xfs/127 index f44daae4..6b768c93 100755 --- a/tests/xfs/127 +++ b/tests/xfs/127 @@ -48,7 +48,7 @@ _require_scratch_reflink _require_cp_reflink echo "Format and mount" -_scratch_mkfs -d size=$((2 * 4096 * 4096)) -l size=4194304 > $seqres.full 2>&1 +_scratch_mkfs_sized $((2 * 4096 * 4096)) > $seqres.full 2>&1 _scratch_mount >> $seqres.full 2>&1 testdir=$SCRATCH_MNT/test-$seq diff --git a/tests/xfs/215 b/tests/xfs/215 index 5ae4d854..7a517d7f 100755 --- a/tests/xfs/215 +++ b/tests/xfs/215 @@ -95,7 +95,7 @@ new_extents=$(_count_extents $testdir/file3) echo "old extents: $old_extents" >> $seqres.full echo "new extents: $new_extents" >> $seqres.full echo "maximum extents: $internal_blks" >> $seqres.full -test $new_extents -lt $((internal_blks / 20)) || echo "file3 badly fragmented" +test $((new_extents - (nr / 2))) -lt $((internal_blks / 2)) || echo "file3 badly fragmented" # success, all done status=0 diff --git a/tests/xfs/218 b/tests/xfs/218 index ea464f2d..0ab4102c 100755 --- a/tests/xfs/218 +++ b/tests/xfs/218 @@ -94,7 +94,7 @@ new_extents=$(_count_extents $testdir/file3) echo "old extents: $old_extents" >> $seqres.full echo "new extents: $new_extents" >> $seqres.full echo "maximum extents: $internal_blks" >> $seqres.full -test $new_extents -lt $((internal_blks / 20)) || echo "file3 badly fragmented" +test $((new_extents - (nr / 2))) -lt $((internal_blks / 2)) || echo "file3 badly fragmented" # success, all done status=0 diff --git a/tests/xfs/219 b/tests/xfs/219 index 012b07c2..df57e07a 100755 --- a/tests/xfs/219 +++ b/tests/xfs/219 @@ -95,7 +95,7 @@ new_extents=$(_count_extents $testdir/file3) echo "old extents: $old_extents" >> $seqres.full echo "new extents: $new_extents" >> $seqres.full echo "maximum extents: $internal_blks" >> $seqres.full -test $new_extents -lt $((internal_blks / 20)) || echo "file3 badly fragmented" +test $((new_extents - (nr / 4))) -lt $((internal_blks / 2)) || echo "file3 badly fragmented" # success, all done status=0 diff --git a/tests/xfs/221 b/tests/xfs/221 index 8b860f2c..03d81ac6 100755 --- a/tests/xfs/221 +++ b/tests/xfs/221 @@ -94,7 +94,7 @@ new_extents=$(_count_extents $testdir/file3) echo "old extents: $old_extents" >> $seqres.full echo "new extents: $new_extents" >> $seqres.full echo "maximum extents: $internal_blks" >> $seqres.full -test $new_extents -lt $((internal_blks / 20)) || echo "file3 badly fragmented" +test $((new_extents - (nr / 4))) -lt $((internal_blks / 2)) || echo "file3 badly fragmented" # success, all done status=0 diff --git a/tests/xfs/223 b/tests/xfs/223 index 1e6ba987..7c990a27 100755 --- a/tests/xfs/223 +++ b/tests/xfs/223 @@ -97,7 +97,7 @@ new_extents=$(_count_extents $testdir/file3) echo "old extents: $old_extents" >> $seqres.full echo "new extents: $new_extents" >> $seqres.full echo "maximum extents: $internal_blks" >> $seqres.full -test $new_extents -lt $((internal_blks / 20)) || echo "file3 badly fragmented" +test $((new_extents - (nr / 2))) -lt $((internal_blks / 2)) || echo "file3 badly fragmented" # success, all done status=0 diff --git a/tests/xfs/224 b/tests/xfs/224 index 3d19f944..bf33d1f1 100755 --- a/tests/xfs/224 +++ b/tests/xfs/224 @@ -96,7 +96,7 @@ new_extents=$(_count_extents $testdir/file3) echo "old extents: $old_extents" >> $seqres.full echo "new extents: $new_extents" >> $seqres.full echo "maximum extents: $internal_blks" >> $seqres.full -test $new_extents -lt $((internal_blks / 20)) || echo "file3 badly fragmented" +test $((new_extents - (nr / 2))) -lt $((internal_blks / 2)) || echo "file3 badly fragmented" # success, all done status=0 diff --git a/tests/xfs/225 b/tests/xfs/225 index c2e5b824..749816f0 100755 --- a/tests/xfs/225 +++ b/tests/xfs/225 @@ -95,7 +95,7 @@ new_extents=$(_count_extents $testdir/file3) echo "old extents: $old_extents" >> $seqres.full echo "new extents: $new_extents" >> $seqres.full echo "maximum extents: $internal_blks" >> $seqres.full -test $new_extents -lt $((internal_blks / 20)) || echo "file3 badly fragmented" +test $((new_extents - (nr / 2))) -lt $((internal_blks / 2)) || echo "file3 badly fragmented" # success, all done status=0 diff --git a/tests/xfs/226 b/tests/xfs/226 index 3f035b42..bb94d246 100755 --- a/tests/xfs/226 +++ b/tests/xfs/226 @@ -94,7 +94,7 @@ new_extents=$(_count_extents $testdir/file3) echo "old extents: $old_extents" >> $seqres.full echo "new extents: $new_extents" >> $seqres.full echo "maximum extents: $internal_blks" >> $seqres.full -test $new_extents -lt $((internal_blks / 20)) || echo "file3 badly fragmented" +test $((new_extents - (nr / 2))) -lt $((internal_blks / 2)) || echo "file3 badly fragmented" # success, all done status=0 diff --git a/tests/xfs/228 b/tests/xfs/228 index 52fbb753..df1fd7aa 100755 --- a/tests/xfs/228 +++ b/tests/xfs/228 @@ -103,7 +103,7 @@ new_extents=$(_count_extents $testdir/file3) echo "old extents: $old_extents" >> $seqres.full echo "new extents: $new_extents" >> $seqres.full echo "maximum extents: $internal_blks" >> $seqres.full -test $new_extents -lt $((internal_blks / 20)) || echo "file3 badly fragmented" +test $((new_extents - (nr * 4 / 10))) -lt $((internal_blks / 2)) || echo "file3 badly fragmented" # success, all done status=0 diff --git a/tests/xfs/230 b/tests/xfs/230 index 91e4d3f0..73f599af 100755 --- a/tests/xfs/230 +++ b/tests/xfs/230 @@ -103,7 +103,7 @@ new_extents=$(_count_extents $testdir/file3) echo "old extents: $old_extents" >> $seqres.full echo "new extents: $new_extents" >> $seqres.full echo "maximum extents: $internal_blks" >> $seqres.full -test $new_extents -lt $((internal_blks / 20)) || echo "file3 badly fragmented" +test $((new_extents - (nr * 4 / 10))) -lt $((internal_blks / 2)) || echo "file3 badly fragmented" # success, all done status=0 diff --git a/tests/xfs/231 b/tests/xfs/231 index 60f59a9b..166f6b0e 100755 --- a/tests/xfs/231 +++ b/tests/xfs/231 @@ -123,7 +123,7 @@ new_extents=$(_count_extents $testdir/file2) echo "old extents: $old_extents" >> $seqres.full echo "new extents: $new_extents" >> $seqres.full echo "maximum extents: $internal_blks" >> $seqres.full -test $new_extents -lt $((internal_blks / 7)) || echo "file2 badly fragmented" +test $new_extents -le $((3 * nr / bufnr)) || echo "file2 more fragmented than expected" # success, all done status=0 diff --git a/tests/xfs/232 b/tests/xfs/232 index 9a8403c0..0008dbfd 100755 --- a/tests/xfs/232 +++ b/tests/xfs/232 @@ -125,7 +125,7 @@ new_extents=$(_count_extents $testdir/file2) echo "old extents: $old_extents" >> $seqres.full echo "new extents: $new_extents" >> $seqres.full echo "maximum extents: $internal_blks" >> $seqres.full -test $new_extents -lt $((internal_blks / 12)) || echo "file2 not sufficiently fragmented" +test $new_extents -le $((2 * nr / bufnr)) || echo "file2 more fragmented than expected" # success, all done status=0