XFS

XFS
Developer(s)
Full nameXFS
Introduced1994; 30 years ago (1994) with IRIX 5.3
Partition IDs
  • MBR: 0x83: Linux filesystem
  • GPT: 0FC63DAF-8483-4772-8E79-3D69D8477DE4: Linux filesystem[1]
Structures
Directory contentsB+ trees
File allocationB+ trees
Limits
Max volume sizeexbibytes − 1 byte
Max file sizeexbibytes − 1 byte
Max no. of files264[2]
Max filename length255 bytes
Allowed filename
characters
All except NUL and "/"
Features
Dates recordedatime, mtime, ctime,[3] version 5: crtime[4]
Date rangeDecember 13, 1901 – July 2, 2486[5]
Date resolution1 ns
AttributesYes
File system
permissions
Yes
Transparent
compression
No
Transparent
encryption
No (provided at the block device level)
Data deduplicationExperimental, 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.

  1. ^ "GPT fdisk - ArchWiki".
  2. ^ "What is the maximum number of inodes in Linux filesystems?". 2014-06-17.
  3. ^ "XFS Filesystem Structure 2nd Edition, Revision 1" (PDF). p. 25. Archived from the original (PDF) on 2017-10-31.
  4. ^ "ondisk_inode.asciidoc\XFS_Filesystem_Structure\design - xfs/xfs-documentation.git - XFS AsciiDoc Documentation tree". git.kernel.org.
  5. ^ Darrick J. Wong (2020-08-10). "xfs: widen timestamps to deal with y2038".
  6. ^ "Duperemove". GitHub. Archived from the original on 6 March 2016. Retrieved 21 August 2016.
  7. ^ "xFS: The Extension of EFS - "x" for To-be-Determined (but the Name Stuck)". XFS.org. Archived from the original on 2014-07-14.