{
  "status": "shipping",
  "advantages": [],
  "limitations": [],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-14",
  "slug": "zfs-intent-log",
  "term": "ZFS Intent Log",
  "aliases": [
    "ZIL"
  ],
  "definition": "The ZFS Intent Log is a per-dataset recovery log that can persist filesystem operations before their transaction group reaches stable storage.",
  "note": "Intent records can remain in memory until the TXG commits or be committed to the on-disk ZIL to satisfy a synchronous request; recovery replays relevant persisted records when the dataset is instantiated. The log can live in the main pool without a separate device. [zil-source] [pool-man] Copied records contain data, while an indirect record points to a block written outside the log. Transaction-data byte counters do not measure physical SLOG writes. [zil-header]",
  "related": [
    "zfs-separate-log",
    "zfs-transaction-group",
    "fsync",
    "write-ahead-log",
    "crash-consistency"
  ],
  "citations": [
    {
      "id": "zil-source",
      "title": "OpenZFS 2.3.4: zil.c, log lifecycle, zil_commit and zil_replay",
      "url": "https://github.com/openzfs/zfs/blob/zfs-2.3.4/module/zfs/zil.c",
      "accessed": "2026-10-14"
    },
    {
      "id": "pool-man",
      "title": "OpenZFS 2.3: zpoolconcepts(7), Intent Log and Cache Devices",
      "url": "https://openzfs.github.io/openzfs-docs/man/v2.3/7/zpoolconcepts.7.html",
      "accessed": "2026-10-14"
    },
    {
      "id": "zil-header",
      "title": "OpenZFS 2.3.4: zil.h, indirect and copied log records; statistics units",
      "url": "https://github.com/openzfs/zfs/blob/zfs-2.3.4/include/sys/zil.h",
      "accessed": "2026-10-14"
    }
  ]
}
