Storage glossary · JSON corpus · llms.txt · hesela.com

hole-punching · shipping · also file hole punching

Hole punching

Deallocating whole filesystem blocks within a file range while preserving the file's logical length and making the affected range read as zeros.

On Linux, FALLOC_FL_PUNCH_HOLE must be combined with FALLOC_FL_KEEP_SIZE; partial boundary blocks are zeroed rather than removed. The operation changes file content and requires filesystem support. It is not the same as collapsing a range, which shifts later data, or as a sanitization procedure.

Relations

related
sparse-file, file-preallocation, discard, thin-provisioning, unwritten-extent

Advantages

Limitations

Citations

  1. Linux man-pages: fallocate(2), allocation and mode contracts (accessed 2026-10-12)
  2. LVM2: lvmthin(7), physical allocation, discards and pool exhaustion (accessed 2026-10-12)
  3. Linux 6.12: device-mapper thin provisioning, metadata and exhaustion (accessed 2026-10-12)
  4. Sparse files, preallocation and thin-pool capacity (accessed 2026-10-13)

JSON: /data/terms/hole-punching.json