Chapter 1. The XFS® Filesystem

The XFS® filesystem provides the following major features:

At least 64 MB of memory is recommended for systems with XFS filesystems.

The maximum size of an XFS filesystem is 264 bytes. The maximum size of an XFS file is 263-1 bytes.

XFS uses database journaling technology to provide high reliability and rapid recovery. Recovery after a system crash is completed within a few seconds, without the use of a filesystem checker such as the fsck command. Recovery time is independent of filesystem size.

XFS is designed to be a very high performance filesystem. XFS as a filesystem is capable of delivering near-raw I/O performance. While traditional filesystems suffer from reduced performance as they grow in size, with XFS there is no performance penalty.

You can create filesystems with block sizes ranging from 512 bytes to a maximum of the filesystem page size. The filesystem page size is a kernel compile option and may be set to 4K, 8K, or 16K.

Filesystem extents, which provide for contiguous data within a file, are created automatically for normal files and may be configured at file creation time using the fcntl() system call. Extents are multiples of a filesystem block.

Inodes are created as needed by XFS filesystems. You can specify the size of inodes with the -i size= option to the filesystem creation command, mkfs.xfs. You can also specify the maximum percentage of the space in a filesystem that can be occupied by inodes with the -i maxpct= option of the mkfs.xfs command.

XFS implements fully journaled extended attributes. An extended attribute is a name/value pair associated with a file. Attributes can be attached to all types of inodes: regular files, directories, symbolic links, device nodes, and so forth. Attribute values can contain up to 64 KB of arbitrary binary data.

XFS implements two attribute namespaces:

The system namespace can be used for protected filesystem metadata such as access control lists (ACLs) and hierarchical storage manager (HSM) file migration status. For more information see the, attr(1) man page.

To dump XFS filesystems, you must use the command xfsdump(8) (not the dump command). Restoring from these dumps is done using xfsrestore(8). For more information about the relationships between xfsdump, xfsrestore on XFS filesystems, see the man pages and Chapter 6, “Backup and Recovery Procedures”.