XFS
The XFS filesystem is a high-performance journaling filesystem. It is ACL (POSIX) compliant for use with Linux.
Installation
Kernel
File systems ---> <*> XFS filesystem support
Optional:
File systems ---> [*] XFS Quota support [*] XFS POSIX ACL support [*] XFS Realtime subvolume support [ ] XFS Verbose Warnings [ ] XFS Debugging support
Emerge
The sys-fs/xfsprogs package is needed for XFS userspace utilities:
root #
emerge --ask sys-fs/xfsprogs
Usage
Mount XFS filesystems with the mount command.
Year 2038 timestamp support (bigtime)
Beginning with kernel 5.10, XFS gained bigtime
support to extend the maximum recorded date stamps from 2038 to 2486 for the V5 on-disk format.[1]
Initially, this was marked as experimental until kernel 5.15 removed that verbiage after a year of testing.
bigtime
option can be enabled at creation time or upgraded after the fact. Once enabled and written to, it should not be removed.
To enable at format time, add the -m bigtime=1
option to mkfs.xfs
To check the status:
root #
xfs_info / |grep bigtime
= reflink=1 bigtime=1 inobtcount=0
To upgrade to bigtime
, first cleanly unmount the file system. The upgrade will refuse to run if the unmount was not completely clean.
Then run:
root #
xfs_admin -O bigtime=1 /dev/sda1
Replacing /dev/sda1 with the device path.
XFS on the root mount will require an initramfs or other live environment with the necessary tools to perform an upgrade to the metadata.
Using Dracut initramfs to perform the upgrade
First, Dracut needs additional files included in the initramfs in order to perform the upgrade. This can be accomplished with either the --install
option or inside a configuration file using the install_items
option.
root #
dracut --install "/usr/sbin/xfs_admin /usr/bin/expr" ...
Then, the kernel command line option can be modified to include rd.break=premount
to stop the initramfs just before it would mount the root filesystem. Ensure this is done temporarily and removed on subsequent reboots after upgrade.
Removal
To schedule removal at the next run:
root #
emerge --ask --depclean --verbose sys-fs/xfsprogs
See also
- FAT — originally created for use with MS-DOS (and later pre-NT Microsoft Windows)
- Ext4 — an open source disk filesystem and most recent version of the extended series of filesystems.
- Btrfs — a copy-on-write (CoW) filesystem for Linux aimed at implementing advanced features while focusing on fault tolerance, self-healing properties, and easy administration.