mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-08 18:23:57 -06:00
iotests: add iotest 236 for testing bitmap merge
New interface, new smoke test. Signed-off-by: John Snow <jsnow@redhat.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> Reviewed-by: Eric Blake <eblake@redhat.com> Message-Id: <20181221093529.23855-12-jsnow@redhat.com> [eblake: fix last-minute change to echo text] Signed-off-by: Eric Blake <eblake@redhat.com>
This commit is contained in:
parent
55cd64eab5
commit
14da540f2a
3 changed files with 513 additions and 0 deletions
351
tests/qemu-iotests/236.out
Normal file
351
tests/qemu-iotests/236.out
Normal file
|
@ -0,0 +1,351 @@
|
|||
--- Preparing image & VM ---
|
||||
|
||||
|
||||
--- Adding preliminary bitmaps A & B ---
|
||||
|
||||
{"execute": "block-dirty-bitmap-add", "arguments": {"granularity": 65536, "name": "bitmapA", "node": "drive0"}}
|
||||
{"return": {}}
|
||||
{"execute": "block-dirty-bitmap-add", "arguments": {"granularity": 65536, "name": "bitmapB", "node": "drive0"}}
|
||||
{"return": {}}
|
||||
|
||||
--- Emulating writes ---
|
||||
|
||||
write -P0x5d 0 64k
|
||||
{"return": ""}
|
||||
write -P0xd5 1M 64k
|
||||
{"return": ""}
|
||||
write -P0xdc 32M 64k
|
||||
{"return": ""}
|
||||
write -P0xcd 0x3ff0000 64k
|
||||
{"return": ""}
|
||||
{
|
||||
"bitmaps": {
|
||||
"drive0": [
|
||||
{
|
||||
"count": 262144,
|
||||
"granularity": 65536,
|
||||
"name": "bitmapB",
|
||||
"status": "active"
|
||||
},
|
||||
{
|
||||
"count": 262144,
|
||||
"granularity": 65536,
|
||||
"name": "bitmapA",
|
||||
"status": "active"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
--- Submitting & Aborting Transaction ---
|
||||
|
||||
{
|
||||
"execute": "transaction",
|
||||
"arguments": {
|
||||
"actions": [
|
||||
{
|
||||
"data": {
|
||||
"node": "drive0",
|
||||
"name": "bitmapB"
|
||||
},
|
||||
"type": "block-dirty-bitmap-disable"
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"node": "drive0",
|
||||
"name": "bitmapC",
|
||||
"granularity": 65536
|
||||
},
|
||||
"type": "block-dirty-bitmap-add"
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"node": "drive0",
|
||||
"name": "bitmapA"
|
||||
},
|
||||
"type": "block-dirty-bitmap-clear"
|
||||
},
|
||||
{
|
||||
"data": {},
|
||||
"type": "abort"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
{
|
||||
"error": {
|
||||
"class": "GenericError",
|
||||
"desc": "Transaction aborted using Abort action"
|
||||
}
|
||||
}
|
||||
{
|
||||
"bitmaps": {
|
||||
"drive0": [
|
||||
{
|
||||
"count": 262144,
|
||||
"granularity": 65536,
|
||||
"name": "bitmapB",
|
||||
"status": "active"
|
||||
},
|
||||
{
|
||||
"count": 262144,
|
||||
"granularity": 65536,
|
||||
"name": "bitmapA",
|
||||
"status": "active"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
--- Disabling B & Adding C ---
|
||||
|
||||
{
|
||||
"execute": "transaction",
|
||||
"arguments": {
|
||||
"actions": [
|
||||
{
|
||||
"data": {
|
||||
"node": "drive0",
|
||||
"name": "bitmapB"
|
||||
},
|
||||
"type": "block-dirty-bitmap-disable"
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"node": "drive0",
|
||||
"name": "bitmapC",
|
||||
"granularity": 65536
|
||||
},
|
||||
"type": "block-dirty-bitmap-add"
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"node": "drive0",
|
||||
"name": "bitmapC"
|
||||
},
|
||||
"type": "block-dirty-bitmap-disable"
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"node": "drive0",
|
||||
"name": "bitmapC"
|
||||
},
|
||||
"type": "block-dirty-bitmap-enable"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
{
|
||||
"return": {}
|
||||
}
|
||||
|
||||
--- Emulating further writes ---
|
||||
|
||||
write -P0xab 0 64k
|
||||
{"return": ""}
|
||||
write -P0xad 0x00f8000 64k
|
||||
{"return": ""}
|
||||
write -P0x1d 0x2008000 64k
|
||||
{"return": ""}
|
||||
write -P0xea 0x3fe0000 64k
|
||||
{"return": ""}
|
||||
|
||||
--- Disabling A & C ---
|
||||
|
||||
{
|
||||
"execute": "transaction",
|
||||
"arguments": {
|
||||
"actions": [
|
||||
{
|
||||
"data": {
|
||||
"node": "drive0",
|
||||
"name": "bitmapA"
|
||||
},
|
||||
"type": "block-dirty-bitmap-disable"
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"node": "drive0",
|
||||
"name": "bitmapC"
|
||||
},
|
||||
"type": "block-dirty-bitmap-disable"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
{
|
||||
"return": {}
|
||||
}
|
||||
{
|
||||
"bitmaps": {
|
||||
"drive0": [
|
||||
{
|
||||
"count": 393216,
|
||||
"granularity": 65536,
|
||||
"name": "bitmapC",
|
||||
"status": "disabled"
|
||||
},
|
||||
{
|
||||
"count": 262144,
|
||||
"granularity": 65536,
|
||||
"name": "bitmapB",
|
||||
"status": "disabled"
|
||||
},
|
||||
{
|
||||
"count": 458752,
|
||||
"granularity": 65536,
|
||||
"name": "bitmapA",
|
||||
"status": "disabled"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
--- Submitting & Aborting Merge Transaction ---
|
||||
|
||||
{
|
||||
"execute": "transaction",
|
||||
"arguments": {
|
||||
"actions": [
|
||||
{
|
||||
"data": {
|
||||
"node": "drive0",
|
||||
"disabled": true,
|
||||
"name": "bitmapD",
|
||||
"granularity": 65536
|
||||
},
|
||||
"type": "block-dirty-bitmap-add"
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"node": "drive0",
|
||||
"target": "bitmapD",
|
||||
"bitmaps": [
|
||||
"bitmapB",
|
||||
"bitmapC"
|
||||
]
|
||||
},
|
||||
"type": "block-dirty-bitmap-merge"
|
||||
},
|
||||
{
|
||||
"data": {},
|
||||
"type": "abort"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
{
|
||||
"error": {
|
||||
"class": "GenericError",
|
||||
"desc": "Transaction aborted using Abort action"
|
||||
}
|
||||
}
|
||||
{
|
||||
"bitmaps": {
|
||||
"drive0": [
|
||||
{
|
||||
"count": 393216,
|
||||
"granularity": 65536,
|
||||
"name": "bitmapC",
|
||||
"status": "disabled"
|
||||
},
|
||||
{
|
||||
"count": 262144,
|
||||
"granularity": 65536,
|
||||
"name": "bitmapB",
|
||||
"status": "disabled"
|
||||
},
|
||||
{
|
||||
"count": 458752,
|
||||
"granularity": 65536,
|
||||
"name": "bitmapA",
|
||||
"status": "disabled"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
--- Creating D as a merge of B & C ---
|
||||
|
||||
{
|
||||
"execute": "transaction",
|
||||
"arguments": {
|
||||
"actions": [
|
||||
{
|
||||
"data": {
|
||||
"node": "drive0",
|
||||
"disabled": true,
|
||||
"name": "bitmapD",
|
||||
"granularity": 65536
|
||||
},
|
||||
"type": "block-dirty-bitmap-add"
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"node": "drive0",
|
||||
"target": "bitmapD",
|
||||
"bitmaps": [
|
||||
"bitmapB",
|
||||
"bitmapC"
|
||||
]
|
||||
},
|
||||
"type": "block-dirty-bitmap-merge"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
{
|
||||
"return": {}
|
||||
}
|
||||
{
|
||||
"bitmaps": {
|
||||
"drive0": [
|
||||
{
|
||||
"count": 458752,
|
||||
"granularity": 65536,
|
||||
"name": "bitmapD",
|
||||
"status": "disabled"
|
||||
},
|
||||
{
|
||||
"count": 393216,
|
||||
"granularity": 65536,
|
||||
"name": "bitmapC",
|
||||
"status": "disabled"
|
||||
},
|
||||
{
|
||||
"count": 262144,
|
||||
"granularity": 65536,
|
||||
"name": "bitmapB",
|
||||
"status": "disabled"
|
||||
},
|
||||
{
|
||||
"count": 458752,
|
||||
"granularity": 65536,
|
||||
"name": "bitmapA",
|
||||
"status": "disabled"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
--- Removing bitmaps A, B, C, and D ---
|
||||
|
||||
{"execute": "block-dirty-bitmap-remove", "arguments": {"name": "bitmapA", "node": "drive0"}}
|
||||
{"return": {}}
|
||||
{"execute": "block-dirty-bitmap-remove", "arguments": {"name": "bitmapB", "node": "drive0"}}
|
||||
{"return": {}}
|
||||
{"execute": "block-dirty-bitmap-remove", "arguments": {"name": "bitmapC", "node": "drive0"}}
|
||||
{"return": {}}
|
||||
{"execute": "block-dirty-bitmap-remove", "arguments": {"name": "bitmapD", "node": "drive0"}}
|
||||
{"return": {}}
|
||||
|
||||
--- Final Query ---
|
||||
|
||||
{
|
||||
"bitmaps": {
|
||||
"drive0": []
|
||||
}
|
||||
}
|
||||
|
||||
--- Done ---
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue