Log-structured file system

A log-structured filesystem is a file system in which data and metadata are written sequentially to a circular buffer, called a log.

[1] Conventional file systems lay out files with great care for spatial locality and make in-place changes to their data structures in order to perform well on optical and magnetic disks, which tend to seek relatively slowly.

The tail can release space and move forward by skipping over data for which newer versions exist further ahead in the log.

To reduce the overhead incurred by this garbage collection, most implementations avoid purely circular logs and divide up their storage into segments.

The design rationale for log-structured file systems assumes that most reads will be optimized away by ever-enlarging memory caches.