Extents

In the QNX 4 filesystem, regular files and directory files
are stored as a sequence of extents,
contiguous sequences of blocks on a disk.

The directory entry for a file keeps track of the file's extents.
If the filesystem needs more than one extent to hold a file, it uses a
linked list of extent blocks to store information about the extents.

When a file needs more space, the filesystem tries to extend the file
contiguously on the disk.
If this isn't possible, the filesystem allocates a new extent, which may
require allocating a new extent block as well.
When it allocates or expands an extent, the filesystem may
overallocate space, under the assumption that the process
will continue to write and fill the extra space. When the
file is closed, any extra space is returned.

This design ensures that when files—even
several files at one time—are written, they're as contiguous as
possible. Since most hard disk drives implement track
caching, this not only ensures that files are read as
quickly as possible from the disk hardware, but also serves
to minimize the fragmentation of data on disk.