| --- 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 | 
 |       }, | 
 |       { | 
 |         "busy": false, | 
 |         "count": 0, | 
 |         "granularity": 131072, | 
 |         "name": "Large", | 
 |         "persistent": true, | 
 |         "recording": true | 
 |       }, | 
 |       { | 
 |         "busy": false, | 
 |         "count": 0, | 
 |         "granularity": 65536, | 
 |         "name": "Medium", | 
 |         "persistent": true, | 
 |         "recording": true | 
 |       }, | 
 |       { | 
 |         "busy": false, | 
 |         "count": 0, | 
 |         "granularity": 32768, | 
 |         "name": "Small", | 
 |         "persistent": true, | 
 |         "recording": true | 
 |       } | 
 |     ] | 
 |   } | 
 | } | 
 | --- 2nd Boot (Grow Image) --- | 
 |  | 
 | { | 
 |   "bitmaps": { | 
 |     "drive0": [ | 
 |       { | 
 |         "busy": false, | 
 |         "count": 0, | 
 |         "granularity": 32768, | 
 |         "name": "Small", | 
 |         "persistent": true, | 
 |         "recording": true | 
 |       }, | 
 |       { | 
 |         "busy": false, | 
 |         "count": 0, | 
 |         "granularity": 65536, | 
 |         "name": "Medium", | 
 |         "persistent": true, | 
 |         "recording": true | 
 |       }, | 
 |       { | 
 |         "busy": false, | 
 |         "count": 0, | 
 |         "granularity": 131072, | 
 |         "name": "Large", | 
 |         "persistent": true, | 
 |         "recording": true | 
 |       } | 
 |     ] | 
 |   } | 
 | } | 
 | --- 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 | 
 |       }, | 
 |       { | 
 |         "busy": false, | 
 |         "count": 0, | 
 |         "granularity": 65536, | 
 |         "name": "New", | 
 |         "persistent": true, | 
 |         "recording": true | 
 |       }, | 
 |       { | 
 |         "busy": false, | 
 |         "count": 0, | 
 |         "granularity": 32768, | 
 |         "name": "Small", | 
 |         "persistent": true, | 
 |         "recording": true | 
 |       }, | 
 |       { | 
 |         "busy": false, | 
 |         "count": 0, | 
 |         "granularity": 65536, | 
 |         "name": "Medium", | 
 |         "persistent": true, | 
 |         "recording": true | 
 |       }, | 
 |       { | 
 |         "busy": false, | 
 |         "count": 0, | 
 |         "granularity": 131072, | 
 |         "name": "Large", | 
 |         "persistent": true, | 
 |         "recording": true | 
 |       } | 
 |     ] | 
 |   } | 
 | } | 
 | --- Forcing flush of bitmaps to disk --- | 
 |  | 
 | --- 3rd Boot (Shrink Image) --- | 
 |  | 
 | { | 
 |   "bitmaps": { | 
 |     "drive0": [ | 
 |       { | 
 |         "busy": false, | 
 |         "count": 0, | 
 |         "granularity": 65536, | 
 |         "name": "New", | 
 |         "persistent": true, | 
 |         "recording": true | 
 |       }, | 
 |       { | 
 |         "busy": false, | 
 |         "count": 0, | 
 |         "granularity": 65536, | 
 |         "name": "Newtwo", | 
 |         "persistent": true, | 
 |         "recording": true | 
 |       }, | 
 |       { | 
 |         "busy": false, | 
 |         "count": 0, | 
 |         "granularity": 32768, | 
 |         "name": "Small", | 
 |         "persistent": true, | 
 |         "recording": true | 
 |       }, | 
 |       { | 
 |         "busy": false, | 
 |         "count": 0, | 
 |         "granularity": 65536, | 
 |         "name": "Medium", | 
 |         "persistent": true, | 
 |         "recording": true | 
 |       }, | 
 |       { | 
 |         "busy": false, | 
 |         "count": 0, | 
 |         "granularity": 131072, | 
 |         "name": "Large", | 
 |         "persistent": true, | 
 |         "recording": true | 
 |       } | 
 |     ] | 
 |   } | 
 | } | 
 | --- 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 | 
 |       }, | 
 |       { | 
 |         "busy": false, | 
 |         "count": 0, | 
 |         "granularity": 65536, | 
 |         "name": "NewC", | 
 |         "persistent": true, | 
 |         "recording": true | 
 |       }, | 
 |       { | 
 |         "busy": false, | 
 |         "count": 0, | 
 |         "granularity": 32768, | 
 |         "name": "Small", | 
 |         "persistent": true, | 
 |         "recording": true | 
 |       }, | 
 |       { | 
 |         "busy": false, | 
 |         "count": 0, | 
 |         "granularity": 65536, | 
 |         "name": "Medium", | 
 |         "persistent": true, | 
 |         "recording": true | 
 |       }, | 
 |       { | 
 |         "busy": false, | 
 |         "count": 0, | 
 |         "granularity": 131072, | 
 |         "name": "Large", | 
 |         "persistent": true, | 
 |         "recording": true | 
 |       } | 
 |     ] | 
 |   } | 
 | } | 
 | --- 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 --- |