{
  "slug": "journal-revoke-record",
  "term": "Journal revoke record",
  "aliases": [
    "JBD2 revocation"
  ],
  "definition": "A journal revoke record identifies a block whose older journaled images must not be replayed over newer uses of that block.",
  "note": "JBD2 tracks the latest revoking transaction per block; subsequent transaction images can still replay. [revoke] The concept is not secure erasure or permanent invalidation. The linked model illustrates the distinction with already committed records. [hesela]",
  "status": "shipping",
  "advantages": [],
  "limitations": [
    {
      "text": "The cited Linux v6.12 mechanism and explanatory model do not certify a deployed kernel or storage stack.",
      "citationIds": [
        "hesela"
      ]
    }
  ],
  "related": [
    "crash-consistency",
    "journal-checkpoint",
    "ext4-fast-commit"
  ],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "citations": [
    {
      "id": "revoke",
      "title": "Linux v6.12: fs/jbd2/revoke.c, recovery rules and jbd2_journal_test_revoke",
      "url": "https://github.com/torvalds/linux/blob/v6.12/fs/jbd2/revoke.c",
      "accessed": "2026-10-14"
    },
    {
      "id": "hesela",
      "title": "Hesela: Ext4 journal replay, revocation and repeatable recovery",
      "url": "https://hesela.com/analyses/ext4-journal-replay-revocation/",
      "accessed": "2026-10-14"
    }
  ],
  "updated": "2026-10-14"
}
