xfs_admin(8)
π xfs_admin β bestie, we're doing a filesystem glow-up
Hi hi! Welcome to xfs_admin(8), from the System Manager's Manual. This is the page where we change parameters of an XFS filesystem. Yes, parameters. Yes, of a filesystem. No, you cannot do it while it's mounted. We'll get there. π«Ά
β¨ NAME β¨
xfs_admin β change parameters of an XFS filesystem
πΈ SYNOPSIS πΈ
xfs_admin [ -eflpu ] [ -O featurelist ] [ -C cfgfile ] [ -c 0|1 ] [ -L label ] [ -U uuid ] [ -r rtdev ] device [ logdev ]
xfs_admin -V
π DESCRIPTION π
So, xfs_admin is basically the middleman: it uses the xfs_db(8) command to modify various parameters of a filesystem. It does not do the thing itself. It delegates. Queen behavior honestly. π
Big rule, and I mean big: devices that are mounted cannot be modified. Like, at all. Administrators must unmount filesystems before xfs_admin or xfs_db(8) can convert parameters. So unmount first, bestie, I'm begging. π
Good news though: a number of parameters of a mounted filesystem can be examined and modified using the xfs_growfs(8) command. So if you're trying to do the thing and it's yelling at you, maybe you wanted that one.
The optional logdev parameter specifies the device special file where the filesystem's external log resides. This is required only for filesystems that use an external log. See the mkfs.xfs -l option, and refer to xfs(5) for a detailed description of the XFS log. π
π OPTIONS π
Pick your fighter:
-eβ Enables unwritten extent support on a filesystem that does not already have this enabled. (For legacy filesystems, it can't be disabled anymore atmkfstime.) Heads up: this option only applies to the deprecated V4 format.-fβ Specifies that the filesystem image to be processed is stored in a regular file at device (see themkfs.xfs -d fileoption).-jβ Enables version 2 log format (journal format supporting larger log buffers). Also only applies to the deprecated V4 format.-lβ Print the current filesystem label. Just look at it. No touching. π-pβ Enable 32bit project identifier support (PROJID32BIT feature). Again: only applies to the deprecated V4 format.-uβ Print the current filesystem UUID (Universally Unique IDentifier). Slay, show us your identity.-Cpath β Write a configuration file to the given path that can be re-read bymkfs.xfsfor a future filesystem format attempt. This file will contain only user-visible features. Filesystem geometry information is not written to the configuration file. Lowkey important, don't expect geometry in there.-c 0|1β Enable (1) or disable (0) lazy-counters in the filesystem.
Lazy-counters may not be disabled on Version 5 superblock filesystems (i.e. those with metadata CRCs enabled).
In other words, this option only applies to the deprecated V4 format.
This operation may take quite a bit of time on large filesystems, as the entire filesystem needs to be scanned when this option is changed. Bring a snack. π
With lazy-counters enabled, the superblock is not modified or logged on every change of the free-space and inode counters. Instead, enough information is kept in other parts of the filesystem to be able to maintain the counter values without needing to keep them in the superblock. This gives significant improvements in performance on some configurations and metadata intensive workloads. It's giving efficiency. β¨
-Llabel β Set the filesystem label to label. XFS filesystem labels can be at most 12 characters long; if label is longer than 12 characters,xfs_adminwill truncate it and print a warning message. The filesystem label can be cleared using the special"--"value for label.-Ofeature1=status,feature2=status... β Add or remove features on an existing V5 filesystem. The features should be specified as a comma-separated list. status should be either0to disable the feature or1to enable the feature. Note, however, that most features cannot be disabled. π
NOTE: Administrators must ensure the filesystem is clean by runningxfs_repair -nto inspect the filesystem before performing the upgrade. If corruption is found, recovery procedures (e.g. reformat followed by restoration from backup; or runningxfs_repairwithout the-n) must be followed to clean the filesystem. Do not skip this. I am not joking around, bestie. π¨
Supported features are as follows:
inobtcountβ Keep a count the number of blocks in each inode btree in the AGI. This reduces mount time by speeding up metadata space reservation calculations. The filesystem cannot be downgraded after this feature is enabled. Once enabled, the filesystem will not be writable by older kernels. This feature was added to Linux 5.10.bigtimeβ Upgrade a filesystem to support larger timestamps up to the year 2486. The filesystem cannot be downgraded after this feature is enabled. Once enabled, the filesystem will not be mountable by older kernels. This feature was added to Linux 5.10.nrext64β Upgrade a filesystem to support large per-inode extent counters. The maximum data fork extent count will be2^48 - 1, while the maximum attribute fork extent count will be2^32 - 1. The filesystem cannot be downgraded after this feature is enabled. Once enabled, the filesystem will not be mountable by older kernels. This feature was added to Linux 5.19.exchangeβ Upgrade a filesystem to support atomic file content exchanges through theXFS_IOC_EXCHANGE_RANGEioctl, and to support online repairs of directories, extended attributes, symbolic links, and realtime free space metadata. The filesystem cannot be downgraded after this feature is enabled. Once enabled, the filesystem will not be mountable by older kernels.
-Uuuid β Set the UUID of the filesystem to uuid. A sample UUID looks like this:"c1b9d5a2-f162-11cf-9ece-0020afc76f16". The uuid may also benil, which will set the filesystem UUID to the null UUID. The uuid may also begenerate, which will generate a new UUID for the filesystem. Note that on CRC-enabled filesystems, this will set an incompatible flag such that older kernels will not be able to mount the filesystem. To remove this incompatible flag, userestore, which will restore the original UUID and remove the incompatible feature flag as needed. π-rrtdev β Specifies the device special file where the filesystem's realtime section resides. Only for those filesystems which use a realtime section.-Vβ Prints the version number and exits. That's it. That's the whole job. π
Also, real quick, because the original page says it and it's genuinely useful: the mount(8) manual entry describes how to mount a filesystem using its label or UUID, rather than its block special device name. iykyk. β¨
π¦ SEE ALSO π¦
mkfs.xfs(8), mount(8), xfs_db(8), xfs_growfs(8), xfs_repair(8), xfs(5).
And that's the whole page, bestie! π This was xfs_admin(8) from the System Manager's Manual β that's the source, and the footer's version/date stamp is just xfs_admin(8) sitting there being cute at the bottom of the page. Go unmount something and change a parameter, you absolute icon. π«Άππ
π¦ where this page comes from
- arch rolling: xfsprogs 7.2.0-1
- arch rolling: xfsprogs 7.2.1-1 Β· GPL-2.0-only AND LGPL-2.1-only
- nixpkgs unstable: xfsprogs 7.2.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms