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 <darrick.wong@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dave Chinner <david@fromorbit.com>
This commit is contained in:
Darrick J. Wong
2016-03-23 17:37:31 +11:00
committed by Dave Chinner
parent 64f56fd899
commit 3907442866
13 changed files with 13 additions and 13 deletions
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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