Developer(s) | |
---|---|
Full name | XFS |
Introduced | 1994 with IRIX 5.3 |
Partition identifier | 0x83 (Master Boot Record) |
Structures | |
Directory contents | B+ trees |
File allocation | B+ trees |
Limits | |
Max. volume size | 8 exbibytes − 1 byte |
Max. file size | 8 exbibytes − 1 byte |
Max. number of files | 264 |
Max. filename length | 255 bytes |
Allowed characters in filenames | All except NUL and "/" |
Features | |
Dates recorded | Yes |
Date resolution | 1 ns |
Attributes | Yes |
File system permissions | Yes |
Transparent compression | No |
Transparent encryption | No (provided at the block device level) |
Data deduplication | Experimental, Linux only |
Other | |
Supported operating systems |
XFS is a high-performance 64-bit journaling file system created by Silicon Graphics, Inc (SGI) in 1993. It was the default file system in the SGI's IRIX operating system starting with its version 5.3; the file system was ported to the Linux kernel in 2001. As of June 2014[update], XFS is supported by most Linux distributions, some of which use it as the default file system.
XFS excels in the execution of parallel input/output (I/O) operations due to its design, which is based on allocation groups (a type of subdivision of the physical volumes in which XFS is used- also shortened to AGs). Because of this, XFS enables extreme scalability of I/O threads, file system bandwidth, and size of files and of the file system itself when spanning multiple physical storage devices.
XFS ensures the consistency of data by employing metadata journaling and supporting write barriers. Space allocation is performed via extents with data structures stored in B+ trees, improving the overall performance of the file system, especially when handling large files. Delayed allocation assists in the prevention of file system fragmentation; online defragmentation is also supported. A feature unique to XFS is the pre-allocation of I/O bandwidth at a pre-determined rate, this is suitable for many real-time applications; however, this feature was supported only on IRIX, and only with specialized hardware.
A notable XFS user, NASA Advanced Supercomputing Division, takes advantage of these capabilities deploying two 300+ terabyte XFS filesystems on two SGI Altix archival storage servers, each of which is directly attached to multiple Fibre Channel disk arrays.