Chapter 1. The XFS® Filesystem
The XFS® filesystem
provides the following major features:
Full 64-bit file capabilities (files larger than 2 GB)
Rapid and reliable recovery after system crashes because
of journaling technology
Efficient support of large, sparse files (files with “holes”)
Integrated, full-function volume manager support
Extremely high I/O performance that scales well on multiprocessing
User-specified filesystem block sizes ranging from 512
bytes up to a maximum of the filesystem page size
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
XFS implements two attribute namespaces:
A user namespace available to all users, protected by
the normal file permissions
A system namespace, accessible only to privileged users
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)
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
on XFS filesystems, see the man pages and Chapter 6, “Backup and Recovery Procedures”.