{
  "status": "shipping",
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-21",
  "advantages": [],
  "limitations": [],
  "slug": "qcow2-external-data-file",
  "term": "QCOW2 external data file",
  "aliases": [
    "QCOW2 data file"
  ],
  "definition": "A QCOW2 external data file stores guest payload separately from the QCOW2 file that holds its mapping metadata.",
  "note": "Role: an external data file is different from a backing image that supplies inherited regions. A disk can require external payload storage without having a backing file. [qcow2-format]\n\nInterpretation: with data_file_raw off, a zero-cluster mapping can hide old payload bytes that remain visible when the external file is read directly. Raw mode on makes zero writes maintain the corresponding raw-file content, but does not authenticate later edits. [qcow2-external-test]\n\nRecovery: preserve the resolved data child and effective opening configuration, not only the stored name. Hesela's 60 offline observations include a runtime override that changes guest bytes while both original file hashes stay unchanged. Outcomes are scoped to the recorded QEMU package. [hesela-external]",
  "related": [
    "qcow2",
    "qcow2-backing-chain",
    "backup-verification"
  ],
  "citations": [
    {
      "id": "qcow2-format",
      "title": "QEMU v8.2.2: external-data feature bits and standard cluster descriptors",
      "url": "https://github.com/qemu/qemu/blob/v8.2.2/docs/interop/qcow2.txt",
      "accessed": "2026-10-21"
    },
    {
      "id": "qcow2-external-test",
      "title": "QEMU v8.2.2 iotest 244: external data, zero writes and raw-mode controls",
      "url": "https://github.com/qemu/qemu/blob/v8.2.2/tests/qemu-iotests/244",
      "accessed": "2026-10-21"
    },
    {
      "id": "hesela-external",
      "title": "Hesela: QCOW2 external-data observations",
      "url": "https://hesela.dev/datasets/qcow2-external-data-observations/",
      "accessed": "2026-10-21"
    }
  ]
}
