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 under SGI ProPack for Linux is 264 bytes. The maximum size of an XFS file under SGI ProPack for Linux 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. 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 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 64KB of arbitrary binary data. XFS implements two attribute namespaces: a user namespace available to all users, protected by the normal file permissions; and a system namespace, accessible only to privileged users. The system namespace can be used for protected filesystem meta-data such as access control lists (ACLs) and hierarchical storage manager (HSM) file migration status. For more information see the, attr(1) reference page.

To dump XFS filesystems, the command xfsdump must be used instead of dump. Restoring from these dumps is done using xfsrestore. For more information about the relationships between xfsdump, xfsrestore on XFS filesystems, see Chapter 6, “Backup and Recovery Procedures”