{
  "slug": "dirty-bitmap",
  "term": "Dirty bitmap",
  "aliases": [
    "block dirty bitmap",
    "QEMU dirty bitmap"
  ],
  "definition": "A dirty bitmap is a bit vector that marks storage regions written during a tracked interval.",
  "note": "For block-change tracking, one bit covers a configured byte range. A smaller write still marks that range; the map is not a byte-by-byte content comparison. QEMU identifies a bitmap by its block node and name. [qemu-bitmaps-101]\n\nQEMU v10.1.0 supports transient tracking across image formats; persistence uses QCOW2. An unclean close can make the reloaded bitmap inconsistent and unusable for continued incrementals, without invalidating completed backups. [qemu-bitmaps-101]\n\nThe QCOW2 in_use flag can indicate outdated tracking data even when bitmap metadata remains structurally well formed. Bitmap data need not be synchronized to the image after every guest write. This does not by itself establish guest-data corruption. [qcow2-bitmaps-101]\n\nWith bitmap-based backup selection, QEMU distinguishes on-success, never and always synchronization policies. Do not generalize incremental backup failure handling to every policy. [qemu-bitmap-mode-101]\n\nMulti-disk scope: QEMU transaction acceptance is not completion of its asynchronous backup jobs. Default individual completion can leave successful and failed disks at different tracking boundaries under on-success bitmap handling; retain a successful incremental that later backups require. Grouped completion coordinates job outcomes, not application quiescing. [qemu-bitmaps-101] [qemu-transaction-101]",
  "status": "shipping",
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-28",
  "advantages": [],
  "limitations": [],
  "related": [
    "changed-block-tracking",
    "incremental-backup",
    "qcow2",
    "backup-verification"
  ],
  "citations": [
    {
      "id": "qemu-bitmaps-101",
      "title": "QEMU v10.1.0: dirty bitmaps, granularity, persistence and incremental backup recovery",
      "url": "https://github.com/qemu/qemu/blob/v10.1.0/docs/interop/bitmaps.rst",
      "accessed": "2026-10-28"
    },
    {
      "id": "qemu-bitmap-mode-101",
      "title": "QEMU v10.1.0 QAPI: BitmapSyncMode and BackupCommon",
      "url": "https://github.com/qemu/qemu/blob/v10.1.0/qapi/block-core.json",
      "accessed": "2026-10-28"
    },
    {
      "id": "qcow2-bitmaps-101",
      "title": "QEMU v10.1.0 QCOW2 format: bitmap directory and dirty tracking bitmaps",
      "url": "https://github.com/qemu/qemu/blob/v10.1.0/docs/interop/qcow2.rst",
      "accessed": "2026-10-28"
    },
    {
      "id": "qemu-transaction-101",
      "title": "QEMU v10.1.0 QAPI: asynchronous transaction completion, individual and grouped modes",
      "url": "https://github.com/qemu/qemu/blob/v10.1.0/qapi/transaction.json",
      "accessed": "2026-10-28"
    }
  ]
}
