This glossary defines common terms relating to file systems and storage used throughout the Storage Administration Guide.
The act of reorganizing a file's data blocks so that they are more physically contiguous on disk.
- Delayed Allocation
An allocator behavior in which disk locations are chosen when data is flushed to disk, rather than when the write occurs. This can generally lead to more efficient allocation because the allocator is called less often and with larger requests.
- Extended Attributes
Name/Value metadata pairs which may be associated with a file.
A unit of file allocation, stored in the file's metadata as an offset, length pair. A single extent record can describe many contiguous blocks in a file.
- File System Repair (fsck)
A method of verifying and repairing consistency of a file system's metadata. May be needed post-crash for non-journalling file systems, or after a hardware failure or kernel bug.
The condition in which a file's data blocks are not allocated in contiguous physical (disk) locations for contiguous logical offsets within the file. File fragmentation can lead to poor performance in some situations, due to disk seek time.
- Metadata Journaling
A method used to ensure that a file system's metadata is consistent even after a system crash. Metadata journalling can take different forms, but in each case a journal or log can be replayed after a crash, writing only consistent transactional changes to the disk.
- Persistent Preallocation
A type of file allocation which chooses locations on disk, and marks these blocks as used regardless of when or if they are written. Until data is written into these blocks, reads will return 0s. Preallocation is performed with the fallocate() glibc function.
- POSIX Access Control Lists (ACLs)
Metadata attached to a file which permits more fine-grained access controls. ACLS are often implemented as a special type of extended attribute.
A limit on block or inode usage of individual users and groups in a file system, set by the administrator.
- Stripe Unit
Also sometimes referred to as stride or chunk-size. The stripe unit is the amount of data written to one component of striped storage before moving on to the next. Specified in byte or file system block units.
- Stripe Width
The number of individual data stripe units in striped storage (excluding parity). Depending on the administrative tool used, may be specified in byte or file system block units, or in multiples of the stripe unit.
- Stripe-aware allocation
An allocator behavior in which allocations and I/O are well-aligned to underlying striped storage. This depends on stripe information being available at mkfs time as well. Doing well-aligned allocation I/O can avoid inefficient read-modify-write cycles on the underlying storage.
- Write Barriers
A method to enforce consistent I/O ordering on storage devices which have volatile write caches. Barriers must be used to ensure that after a power loss, the ordering guarantees required by metadata journalling are not violated due to the storage hardware writing out blocks from its volatile write cache in a different order than the operating system requested.
See Also Metadata Journaling.