diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2018-03-26 17:13:31 +0100 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2018-03-26 17:13:31 +0100 |
commit | 62a2b55e8d098d91908b17fc37cb1a4f2a854f8f (patch) | |
tree | 5e2a810f32f3467bf78fcf4037e80aa03b5b8130 /tests/qemu-iotests/121 | |
parent | 7b93d78a04aa242d377ae213b79db6c319c71847 (diff) | |
parent | 0b7e7f66813a7e346e12d47be977a32a530a6316 (diff) | |
download | qemu-62a2b55e8d098d91908b17fc37cb1a4f2a854f8f.tar.gz |
Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging
Block layer patches
# gpg: Signature made Mon 26 Mar 2018 15:33:01 BST
# gpg: using RSA key 7F09B272C88F2FD6
# gpg: Good signature from "Kevin Wolf <kwolf@redhat.com>"
# Primary key fingerprint: DC3D EB15 9A9A F95D 3D74 56FE 7F09 B272 C88F 2FD6
* remotes/kevin/tags/for-upstream:
qemu-iotests: Test vhdx image creation with QMP
vhdx: Check for 4 GB maximum log size on creation
vhdx: Don't use error_setg_errno() with constant errno
vhdx: Require power-of-two block size on create
qemu-iotests: Test parallels image creation with QMP
parallels: Check maximum cluster size on create
qemu-iotests: Test invalid resize on luks
luks: Turn another invalid assertion into check
qemu-iotests: Enable 025 for luks
qemu-iotests: Test vdi image creation with QMP
vdi: Fix build with CONFIG_VDI_DEBUG
vdi: Change 'static' create option to 'preallocation' in QMP
qcow2: Reset free_cluster_index when allocating a new refcount block
include/block/block_int: Document protocol related functions
block/blkreplay: Remove protocol-related fields
block/throttle: Remove protocol-related fields
block/quorum: Remove protocol-related fields
block/replication: Remove protocol_name field
iotests: 163 is not quick
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'tests/qemu-iotests/121')
-rwxr-xr-x | tests/qemu-iotests/121 | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/qemu-iotests/121 b/tests/qemu-iotests/121 index 1307b4e327..6d6f55a5dc 100755 --- a/tests/qemu-iotests/121 +++ b/tests/qemu-iotests/121 @@ -93,6 +93,26 @@ $QEMU_IO -c 'write 63M 130K' "$TEST_IMG" | _filter_qemu_io _check_test_img +echo +echo '=== Allocating a new refcount block must not leave holes in the image ===' +echo + +IMGOPTS='cluster_size=512,refcount_bits=16' _make_test_img 1M + +# This results in an image with 256 used clusters: the qcow2 header, +# the refcount table, one refcount block, the L1 table, four L2 tables +# and 248 data clusters +$QEMU_IO -c 'write 0 124k' "$TEST_IMG" | _filter_qemu_io + +# 256 clusters of 512 bytes each give us a 128K image +stat -c "size=%s (expected 131072)" $TEST_IMG + +# All 256 entries of the refcount block are used, so writing a new +# data cluster also allocates a new refcount block +$QEMU_IO -c 'write 124k 512' "$TEST_IMG" | _filter_qemu_io + +# Two more clusters, the image size should be 129K now +stat -c "size=%s (expected 132096)" $TEST_IMG # success, all done echo |