[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 9/9] tests: Add coverage for recent block geo
From: |
Max Reitz |
Subject: |
Re: [Qemu-devel] [PATCH v2 9/9] tests: Add coverage for recent block geometry fixes |
Date: |
Fri, 18 Nov 2016 00:19:44 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 |
On 17.11.2016 21:14, Eric Blake wrote:
> Use blkdebug's new geometry constraints to emulate setups that
> have caused recent regression fixes: write zeroes asserting
> when running through a loopback block device with max-transfer
> smaller than cluster size, and discard rounding away requests
> that were not aligned to power-of-two boundaries. Also, add
> coverage that the block layer is honoring max transfer limits.
>
> For now, a single iotest performs all actions, with the idea
> that we can add future blkdebug constraint test cases in the
> same file; but it can be split into multiple iotests if we find
> reason to run one portion of the test in more setups than what
> are possible in the other.
>
> Signed-off-by: Eric Blake <address@hidden>
> ---
> tests/qemu-iotests/173 | 115
> +++++++++++++++++++++++++++++++++++++++++++++
> tests/qemu-iotests/173.out | 49 +++++++++++++++++++
> tests/qemu-iotests/group | 1 +
> 3 files changed, 165 insertions(+)
> create mode 100755 tests/qemu-iotests/173
> create mode 100644 tests/qemu-iotests/173.out
>
> diff --git a/tests/qemu-iotests/173 b/tests/qemu-iotests/173
> new file mode 100755
> index 0000000..1215759
> --- /dev/null
> +++ b/tests/qemu-iotests/173
[...]
> +echo
> +echo "== write zero with constrained max-transfer =="
> +limits=max-transfer=64k,opt-write-zero=$CLUSTER_SIZE
> +$QEMU_IO -c "open -o $options,$limits blkdebug::$TEST_IMG" \
> + -c "write -z 8003584 2093056" | _filter_qemu_io
> +
> +# Dell Equallogic iSCSI device is unusual with its 15M page size
Very minor nagging: A simple "Test non-power-of-two write-zero/discard
alignment" might get the point across better.
> +echo
> +echo "== non-power-of-2 write zeroes =="
> +
> +limits=opt-write-zero=15M,max-write-zero=15M,opt-discard=15M,max-discard=15M
> +$QEMU_IO -c "open -o $options,$limits blkdebug::$TEST_IMG" \
> + -c "write -z 32M 32M" | _filter_qemu_io
> +
> +echo
> +echo "== non-power-of-2 discard =="
> +
> +limits=opt-write-zero=15M,max-write-zero=15M,opt-discard=15M,max-discard=15M
> +$QEMU_IO -c "open -o $options,$limits blkdebug::$TEST_IMG" \
> + -c "discard 80000000 30M" | _filter_qemu_io
> +
> +echo
> +echo "== verify image content =="
> +
> +function verify_io()
> +{
> + if ($QEMU_IMG info -f "$IMGFMT" "$TEST_IMG" |
> + grep "compat: 0.10" > /dev/null); then
> + # For v2 images, discarded clusters are read from the backing file
> + discarded=11
> + else
> + # Discarded clusters are zeroed for v3 or later
> + discarded=0
> + fi
This is fine since you've already done the work to support compat=0.10,
but I think we've had v3 long enough that you could have just put
compat=0.10 into _unsupported_imgopts.
Reviewed-by: Max Reitz <address@hidden>
> +
> + echo read -P 22 0 1000
> + echo read -P 33 1000 128k
> + echo read -P 22 132072 7871512
> + echo read -P 0 8003584 2093056
> + echo read -P 22 10096640 23457792
> + echo read -P 0 32M 32M
> + echo read -P 22 64M 13M
> + echo read -P $discarded 77M 29M
> + echo read -P 22 106M 22M
> +}
> +
> +verify_io | $QEMU_IO "$TEST_IMG" | _filter_qemu_io
> +
> +_check_test_img
> +
> +# success, all done
> +echo "*** done"
> +status=0
signature.asc
Description: OpenPGP digital signature
- [Qemu-devel] [PATCH v2 8/9] blkdebug: Add ability to override unmap geometries, (continued)
- [Qemu-devel] [PATCH v2 7/9] blkdebug: Add pass-through write_zero and discard support, Eric Blake, 2016/11/17
- [Qemu-devel] [PATCH v2 9/9] tests: Add coverage for recent block geometry fixes, Eric Blake, 2016/11/17
- Re: [Qemu-devel] [PATCH v2 9/9] tests: Add coverage for recent block geometry fixes,
Max Reitz <=
- Re: [Qemu-devel] [PATCH v2 9/9] tests: Add coverage for recent block geometry fixes, Max Reitz, 2016/11/17
- Re: [Qemu-devel] [PATCH v2 9/9] tests: Add coverage for recent block geometry fixes, Eric Blake, 2016/11/17
- Re: [Qemu-devel] [PATCH v2 9/9] tests: Add coverage for recent block geometry fixes, Max Reitz, 2016/11/19
- Re: [Qemu-devel] [PATCH v2 9/9] tests: Add coverage for recent block geometry fixes, Max Reitz, 2016/11/19
- Re: [Qemu-devel] [PATCH v2 9/9] tests: Add coverage for recent block geometry fixes, Kevin Wolf, 2016/11/21
- Re: [Qemu-devel] [PATCH v2 9/9] tests: Add coverage for recent block geometry fixes, Eric Blake, 2016/11/21
Re: [Qemu-devel] [PATCH v2 for-2.8* 0/9] Fix block regressions, add blkdebug tests, Kevin Wolf, 2016/11/22