mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
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:
committed by
Dave Chinner
parent
64f56fd899
commit
3907442866
+1
-1
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user