_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
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
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
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
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
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
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
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
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
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
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
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
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