Developer(s) | |
---|---|
Full name | XFS |
Introduced | 1994IRIX 5.3 | with
Partition IDs | |
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 no. of files | 264[2] |
Max filename length | 255 bytes |
Allowed filename characters | All except NUL and "/" |
Features | |
Dates recorded | atime, mtime, ctime,[3] version 5: crtime[4] |
Date range | December 13, 1901 – July 2, 2486[5] |
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[6] |
Other | |
Supported operating systems |
XFS is a high-performance 64-bit journaling file system created by Silicon Graphics, Inc (SGI) in 1993.[7] It was the default file system in SGI's IRIX operating system starting with its version 5.3. XFS was ported to the Linux kernel in 2001; as of June 2014, XFS is supported by most Linux distributions; Red Hat Enterprise Linux uses it as its 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.