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

file-preallocation · shipping · also file space reservation

File preallocation

Reserving filesystem allocation for a file range before the application writes that range's data.

Successful Linux fallocate with mode 0 protects subsequent writes in the allocated range against lack of filesystem space; KEEP_SIZE avoids extending logical length. This is not just an advisory hint. A lower thin pool can still require backing allocations when data is written: an end-to-end capacity reservation is not established by the file operation alone, an inference from the separate layer contracts. Shared extents need an explicit sharing-aware contract; FALLOC_FL_UNSHARE_RANGE can make them private where supported.

Relations

related
sparse-file, hole-punching, thin-provisioning, fsync, file-extent, unwritten-extent, reflink

Advantages

Limitations

Citations

  1. Linux man-pages: fallocate(2), allocation and mode contracts (accessed 2026-10-12)
  2. util-linux 2.41.2: fallocate(1), preallocation, punching and zeroing (accessed 2026-10-12)
  3. LVM2: lvmthin(7), physical allocation, discards and pool exhaustion (accessed 2026-10-12)
  4. Sparse files, preallocation and thin-pool capacity (accessed 2026-10-13)

JSON: /data/terms/file-preallocation.json