diff options
author | Max Reitz <mreitz@redhat.com> | 2014-10-28 11:12:32 +0100 |
---|---|---|
committer | Max Reitz <mreitz@redhat.com> | 2014-11-09 23:39:50 +0100 |
commit | d20418ee514774626ac47a1ad0aa9149c7249cf0 (patch) | |
tree | 3f2343113a49320ac9891a33b31e82f6c34091ce /tests/qemu-iotests/084 | |
parent | d21de4d97faaad6ac21011d7bda924f9b2353b7b (diff) |
block/vdi: Limit maximum size even futher
The block layer read and write functions do not like requests which are
bigger than INT_MAX bytes. Since the VDI bmap is read and written in a
single operation, its size is therefore limited accordingly. This
reduces the maximum VDI image size supported by QEMU to half of what it
currently is (down to approximately 512 TB).
The VDI test 084 has to be adapted accordingly. Actually, one could
clearly see that it was broken from the "Could not open
'TEST_DIR/t.IMGFMT': Invalid argument" line for an image which was
supposed to work just fine.
Signed-off-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Peter Lieven <pl@kamp.de>
Diffstat (limited to 'tests/qemu-iotests/084')
-rwxr-xr-x | tests/qemu-iotests/084 | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/tests/qemu-iotests/084 b/tests/qemu-iotests/084 index 2712c023a9..733018d4a8 100755 --- a/tests/qemu-iotests/084 +++ b/tests/qemu-iotests/084 @@ -66,15 +66,15 @@ stat -c"disk image file size in bytes: %s" "${TEST_IMG}" # check for image size too large # poke max image size, and appropriate blocks_in_image value -echo "Test 1: Maximum size (1024 TB):" -poke_file "$TEST_IMG" "$ds_offset" "\x00\x00\xf0\xff\xff\xff\x03\x00" -poke_file "$TEST_IMG" "$bii_offset" "\xff\xff\xff\x3f" +echo "Test 1: Maximum size (512 TB - 128 MB):" +poke_file "$TEST_IMG" "$ds_offset" "\x00\x00\x00\xf8\xff\xff\x01\x00" +poke_file "$TEST_IMG" "$bii_offset" "\x80\xff\xff\x1f" _img_info echo -echo "Test 2: Size too large (1024TB + 1)" +echo "Test 2: Size too large (512 TB - 128 MB + 64 kB)" # This should be too large (-EINVAL): -poke_file "$TEST_IMG" "$ds_offset" "\x00\x00\xf1\xff\xff\xff\x03\x00" +poke_file "$TEST_IMG" "$ds_offset" "\x00\x00\x01\xf8\xff\xff\x01\x00" _img_info echo @@ -89,9 +89,9 @@ _img_info echo echo "Test 4: Size valid (64M), but Blocks In Image exceeds max allowed" -# Now check the bounds of blocks_in_image - 0x3fffffff should be the max +# Now check the bounds of blocks_in_image - 0x1fffff80 should be the max # value here, and we should get -ENOTSUP -poke_file "$TEST_IMG" "$bii_offset" "\x00\x00\x00\x40" +poke_file "$TEST_IMG" "$bii_offset" "\x81\xff\xff\x1f" _img_info # Finally, 1MB is the only block size supported. Verify that |