mirror of https://gitee.com/openkylin/qemu.git
296 lines
7.0 KiB
Plaintext
296 lines
7.0 KiB
Plaintext
--- Preparing image & VM ---
|
|
|
|
--- 1st Boot (Establish Baseline Image) ---
|
|
|
|
|
|
--- Adding bitmaps Small, Medium, Large, and Transient ---
|
|
|
|
{"execute": "block-dirty-bitmap-add", "arguments": {"granularity": 32768, "name": "Small", "node": "drive0", "persistent": true}}
|
|
{"return": {}}
|
|
{"execute": "block-dirty-bitmap-add", "arguments": {"name": "Medium", "node": "drive0", "persistent": true}}
|
|
{"return": {}}
|
|
{"execute": "block-dirty-bitmap-add", "arguments": {"granularity": 131072, "name": "Large", "node": "drive0", "persistent": true}}
|
|
{"return": {}}
|
|
{"execute": "block-dirty-bitmap-add", "arguments": {"name": "Transient", "node": "drive0", "persistent": false}}
|
|
{"return": {}}
|
|
--- Forcing flush of bitmaps to disk ---
|
|
|
|
{
|
|
"bitmaps": {
|
|
"drive0": [
|
|
{
|
|
"busy": false,
|
|
"count": 0,
|
|
"granularity": 65536,
|
|
"name": "Transient",
|
|
"persistent": false,
|
|
"recording": true,
|
|
"status": "active"
|
|
},
|
|
{
|
|
"busy": false,
|
|
"count": 0,
|
|
"granularity": 131072,
|
|
"name": "Large",
|
|
"persistent": true,
|
|
"recording": true,
|
|
"status": "active"
|
|
},
|
|
{
|
|
"busy": false,
|
|
"count": 0,
|
|
"granularity": 65536,
|
|
"name": "Medium",
|
|
"persistent": true,
|
|
"recording": true,
|
|
"status": "active"
|
|
},
|
|
{
|
|
"busy": false,
|
|
"count": 0,
|
|
"granularity": 32768,
|
|
"name": "Small",
|
|
"persistent": true,
|
|
"recording": true,
|
|
"status": "active"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
--- 2nd Boot (Grow Image) ---
|
|
|
|
{
|
|
"bitmaps": {
|
|
"drive0": [
|
|
{
|
|
"busy": false,
|
|
"count": 0,
|
|
"granularity": 32768,
|
|
"name": "Small",
|
|
"persistent": true,
|
|
"recording": true,
|
|
"status": "active"
|
|
},
|
|
{
|
|
"busy": false,
|
|
"count": 0,
|
|
"granularity": 65536,
|
|
"name": "Medium",
|
|
"persistent": true,
|
|
"recording": true,
|
|
"status": "active"
|
|
},
|
|
{
|
|
"busy": false,
|
|
"count": 0,
|
|
"granularity": 131072,
|
|
"name": "Large",
|
|
"persistent": true,
|
|
"recording": true,
|
|
"status": "active"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
--- Adding new bitmap, growing image, and adding 2nd new bitmap ---
|
|
{"execute": "block-dirty-bitmap-add", "arguments": {"name": "New", "node": "drive0", "persistent": true}}
|
|
{"return": {}}
|
|
{"execute": "human-monitor-command", "arguments": {"command-line": "block_resize drive0 70G"}}
|
|
{"return": ""}
|
|
{"execute": "block-dirty-bitmap-add", "arguments": {"name": "Newtwo", "node": "drive0", "persistent": true}}
|
|
{"return": {}}
|
|
{
|
|
"bitmaps": {
|
|
"drive0": [
|
|
{
|
|
"busy": false,
|
|
"count": 0,
|
|
"granularity": 65536,
|
|
"name": "Newtwo",
|
|
"persistent": true,
|
|
"recording": true,
|
|
"status": "active"
|
|
},
|
|
{
|
|
"busy": false,
|
|
"count": 0,
|
|
"granularity": 65536,
|
|
"name": "New",
|
|
"persistent": true,
|
|
"recording": true,
|
|
"status": "active"
|
|
},
|
|
{
|
|
"busy": false,
|
|
"count": 0,
|
|
"granularity": 32768,
|
|
"name": "Small",
|
|
"persistent": true,
|
|
"recording": true,
|
|
"status": "active"
|
|
},
|
|
{
|
|
"busy": false,
|
|
"count": 0,
|
|
"granularity": 65536,
|
|
"name": "Medium",
|
|
"persistent": true,
|
|
"recording": true,
|
|
"status": "active"
|
|
},
|
|
{
|
|
"busy": false,
|
|
"count": 0,
|
|
"granularity": 131072,
|
|
"name": "Large",
|
|
"persistent": true,
|
|
"recording": true,
|
|
"status": "active"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
--- Forcing flush of bitmaps to disk ---
|
|
|
|
--- 3rd Boot (Shrink Image) ---
|
|
|
|
{
|
|
"bitmaps": {
|
|
"drive0": [
|
|
{
|
|
"busy": false,
|
|
"count": 0,
|
|
"granularity": 65536,
|
|
"name": "New",
|
|
"persistent": true,
|
|
"recording": true,
|
|
"status": "active"
|
|
},
|
|
{
|
|
"busy": false,
|
|
"count": 0,
|
|
"granularity": 65536,
|
|
"name": "Newtwo",
|
|
"persistent": true,
|
|
"recording": true,
|
|
"status": "active"
|
|
},
|
|
{
|
|
"busy": false,
|
|
"count": 0,
|
|
"granularity": 32768,
|
|
"name": "Small",
|
|
"persistent": true,
|
|
"recording": true,
|
|
"status": "active"
|
|
},
|
|
{
|
|
"busy": false,
|
|
"count": 0,
|
|
"granularity": 65536,
|
|
"name": "Medium",
|
|
"persistent": true,
|
|
"recording": true,
|
|
"status": "active"
|
|
},
|
|
{
|
|
"busy": false,
|
|
"count": 0,
|
|
"granularity": 131072,
|
|
"name": "Large",
|
|
"persistent": true,
|
|
"recording": true,
|
|
"status": "active"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
--- Adding "NewB" bitmap, removing "New" bitmap ---
|
|
{"execute": "block-dirty-bitmap-add", "arguments": {"name": "NewB", "node": "drive0", "persistent": true}}
|
|
{"return": {}}
|
|
{"execute": "block-dirty-bitmap-remove", "arguments": {"name": "New", "node": "drive0"}}
|
|
{"return": {}}
|
|
--- Truncating image ---
|
|
|
|
{"execute": "human-monitor-command", "arguments": {"command-line": "block_resize drive0 50G"}}
|
|
{"return": ""}
|
|
--- Adding "NewC" bitmap, removing "NewTwo" bitmap ---
|
|
{"execute": "block-dirty-bitmap-add", "arguments": {"name": "NewC", "node": "drive0", "persistent": true}}
|
|
{"return": {}}
|
|
{"execute": "block-dirty-bitmap-remove", "arguments": {"name": "Newtwo", "node": "drive0"}}
|
|
{"return": {}}
|
|
--- Forcing flush of bitmaps to disk ---
|
|
|
|
--- 4th Boot (Verification and Cleanup) ---
|
|
|
|
{
|
|
"bitmaps": {
|
|
"drive0": [
|
|
{
|
|
"busy": false,
|
|
"count": 0,
|
|
"granularity": 65536,
|
|
"name": "NewB",
|
|
"persistent": true,
|
|
"recording": true,
|
|
"status": "active"
|
|
},
|
|
{
|
|
"busy": false,
|
|
"count": 0,
|
|
"granularity": 65536,
|
|
"name": "NewC",
|
|
"persistent": true,
|
|
"recording": true,
|
|
"status": "active"
|
|
},
|
|
{
|
|
"busy": false,
|
|
"count": 0,
|
|
"granularity": 32768,
|
|
"name": "Small",
|
|
"persistent": true,
|
|
"recording": true,
|
|
"status": "active"
|
|
},
|
|
{
|
|
"busy": false,
|
|
"count": 0,
|
|
"granularity": 65536,
|
|
"name": "Medium",
|
|
"persistent": true,
|
|
"recording": true,
|
|
"status": "active"
|
|
},
|
|
{
|
|
"busy": false,
|
|
"count": 0,
|
|
"granularity": 131072,
|
|
"name": "Large",
|
|
"persistent": true,
|
|
"recording": true,
|
|
"status": "active"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
--- Removing all Bitmaps ---
|
|
|
|
{"execute": "block-dirty-bitmap-remove", "arguments": {"name": "Small", "node": "drive0"}}
|
|
{"return": {}}
|
|
{"execute": "block-dirty-bitmap-remove", "arguments": {"name": "Medium", "node": "drive0"}}
|
|
{"return": {}}
|
|
{"execute": "block-dirty-bitmap-remove", "arguments": {"name": "Large", "node": "drive0"}}
|
|
{"return": {}}
|
|
{"execute": "block-dirty-bitmap-remove", "arguments": {"name": "NewB", "node": "drive0"}}
|
|
{"return": {}}
|
|
{"execute": "block-dirty-bitmap-remove", "arguments": {"name": "NewC", "node": "drive0"}}
|
|
{"return": {}}
|
|
{
|
|
"bitmaps": {
|
|
"drive0": []
|
|
}
|
|
}
|
|
|
|
--- Done ---
|