qemu-iotests: Test invalid resize on luks
This tests that the .bdrv_truncate implementation for luks doesn't crash for invalid image sizes. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com>
This commit is contained in:
parent
120bc742c0
commit
50880f25c8
@ -204,6 +204,43 @@ run_qemu -blockdev driver=file,filename="$TEST_IMG_FILE",node-name=node0 \
|
||||
{ "execute": "quit" }
|
||||
EOF
|
||||
|
||||
echo
|
||||
echo "=== Resize image with invalid sizes ==="
|
||||
echo
|
||||
|
||||
run_qemu -blockdev driver=file,filename="$TEST_IMG_FILE",node-name=node0 \
|
||||
-blockdev driver=luks,file=node0,key-secret=keysec0,node-name=node1 \
|
||||
-object secret,id=keysec0,data="foo" <<EOF
|
||||
{ "execute": "qmp_capabilities" }
|
||||
{ "execute": "block_resize",
|
||||
"arguments": {
|
||||
"node-name": "node1",
|
||||
"size": 9223372036854775296
|
||||
}
|
||||
}
|
||||
{ "execute": "block_resize",
|
||||
"arguments": {
|
||||
"node-name": "node1",
|
||||
"size": 9223372036854775808
|
||||
}
|
||||
}
|
||||
{ "execute": "block_resize",
|
||||
"arguments": {
|
||||
"node-name": "node1",
|
||||
"size": 18446744073709551104
|
||||
}
|
||||
}
|
||||
{ "execute": "block_resize",
|
||||
"arguments": {
|
||||
"node-name": "node1",
|
||||
"size": -9223372036854775808
|
||||
}
|
||||
}
|
||||
{ "execute": "quit" }
|
||||
EOF
|
||||
|
||||
_img_info | _filter_img_info
|
||||
|
||||
# success, all done
|
||||
echo "*** done"
|
||||
rm -f $seq.full
|
||||
|
@ -133,4 +133,20 @@ QMP_VERSION
|
||||
{"return": {}}
|
||||
{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false}}
|
||||
|
||||
|
||||
=== Resize image with invalid sizes ===
|
||||
|
||||
Testing: -blockdev driver=file,filename=TEST_DIR/t.IMGFMT,node-name=node0 -blockdev driver=IMGFMT,file=node0,key-secret=keysec0,node-name=node1 -object secret,id=keysec0,data=foo
|
||||
QMP_VERSION
|
||||
{"return": {}}
|
||||
{"error": {"class": "GenericError", "desc": "The requested file size is too large"}}
|
||||
{"error": {"class": "GenericError", "desc": "Invalid parameter type for 'size', expected: integer"}}
|
||||
{"error": {"class": "GenericError", "desc": "Invalid parameter type for 'size', expected: integer"}}
|
||||
{"error": {"class": "GenericError", "desc": "Parameter 'size' expects a >0 size"}}
|
||||
{"return": {}}
|
||||
{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"guest": false}}
|
||||
|
||||
image: json:{"driver": "IMGFMT", "file": {"driver": "file", "filename": "TEST_DIR/t.IMGFMT"}, "key-secret": "keysec0"}
|
||||
file format: IMGFMT
|
||||
virtual size: 0 (0 bytes)
|
||||
*** done
|
||||
|
Loading…
Reference in New Issue
Block a user