[PATCH 18/23] xfs: test the automatic cowextsize extent garbage collector
Dave Chinner
david at fromorbit.com
Tue Feb 9 02:15:47 CST 2016
On Mon, Feb 08, 2016 at 05:13:42PM -0800, Darrick J. Wong wrote:
> Signed-off-by: Darrick J. Wong <darrick.wong at oracle.com>
> +
> +_cleanup()
> +{
> + cd /
> + echo $old_cow_lifetime > /proc/sys/fs/xfs/speculative_cow_prealloc_lifetime
> + #rm -rf "$tmp".* "$testdir"
uncomment.
> +echo "CoW and leave leftovers"
> +echo $old_cow_lifetime > /proc/sys/fs/xfs/speculative_cow_prealloc_lifetime
> +seq 2 2 $((nr - 1)) | while read f; do
> + "$XFS_IO_PROG" -f -c "pwrite -S 0x63 $((blksz * f)) 1" "$testdir/file2" >> "$seqres.full"
> + "$XFS_IO_PROG" -f -c "pwrite -S 0x63 $((blksz * f)) 1" "$testdir/file2.chk" >> "$seqres.full"
> +done
Ok, I just realised what was bugging me about these loops: "f" is
not a typical loop iterator for a count. Normally we'd use "i" for
these....
> +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)) || _fail "file2 badly fragmented"
I wouldn't use _fail like this, echo is sufficient to cause the test
to fail.
> +echo "Check for damage"
> +umount "$SCRATCH_MNT"
> +
> +# success, all done
> +status=0
> +exit
As would getting rid of the unmount and just setting status
appropriately...
/repeat
-Dave.
--
Dave Chinner
david at fromorbit.com
More information about the xfs
mailing list