zfs-pool-checkpoint · shipping · also zpool checkpoint, OpenZFS pool checkpoint

ZFS pool checkpoint

A ZFS pool checkpoint preserves an earlier pool-wide state for later inspection or rewind while retaining blocks that state still needs.

Related Observatory article: ZFS pool checkpoint on hesela.com

A checkpoint retains pool state, including dataset names and snapshots, rather than just one dataset's image. Blocks deleted from the live state remain allocated if the checkpoint needs them. Only one checkpoint can exist, and a new one cannot be created while an earlier checkpoint is still discarding. [4]

A normal import --rewind-to-checkpoint irreversibly abandons later pool changes. Import with the pool property readonly=on permits inspection without committing that rewind. The -N option only suppresses filesystem mounting. [2] [3]

In OpenZFS 2.3.4, a live-pool scrub does not traverse blocks freed from current state but retained only by the checkpoint. A clean scrub therefore does not certify every checkpoint-only block. [5]

An existing checkpoint blocks remove, attach, detach, split and reguid operations. Space pressure can violate reservation boundaries. Discard removes the rewind point before retained-space cleanup completes; checkpoint -d -w waits for completion. [1]

The scrub's scan-progress checkpoint is different: its bookmark resumes scanning after interruption, not pool-wide rollback. [6]

Relations

related
ZFS, Storage snapshot, Data scrubbing

Limitations

  • Pool loss also removes the checkpoint's retained blocks, so this same-pool mechanism is not an independent backup. [4]

Citations

  1. OpenZFS v2.3: zpool-checkpoint(8), restrictions and discard (accessed 2026-11-10)
  2. OpenZFS v2.3: zpool-import(8), checkpoint rewind and read-only preview (accessed 2026-11-10)
  3. OpenZFS v2.3: zpoolprops(7), readonly pool import property (accessed 2026-11-10)
  4. OpenZFS 2.3.4: pool checkpoint design, retained extents and creation checks (accessed 2026-11-10)
  5. OpenZFS 2.3.4: dsl_scan_done, checkpoint-only blocks and scrub coverage (accessed 2026-11-10)
  6. OpenZFS 2.3.4: scan-progress checkpoint bookmark and resumption (accessed 2026-11-10)
Sources & caveats
  • Documentation and source review, scoped to OpenZFS v2.3 manuals and commit 34f96a15c73eab27dd6ad17bb5f1263bf26e37d7 (2.3.4).
  • The pool-loss limitation is an engineering inference from shared storage dependence; no pool, scrub or recovery experiment was performed.

JSON: /data/terms/zfs-pool-checkpoint.json

Published by Hesela team · Updated

Report a correction · Editorial standards · Reuse guidance

Cite this page
Hesela team. ZFS pool checkpoint. Hesela. 2026-11-10. https://hesela.dev/terms/zfs-pool-checkpoint/