--- 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 ---
