XFS Filesystem metadata reserved space for different format options
This is a PSA like post, as I didn't find any post talking about this.
Many of us use XFS for file storage, like our Linux ISO collections. Some recent change to XFS has changed how much reserved space the filesystem is going to take. So I did some quick test and I'm sharing the results. You should choose format options that fit you the best.
Unit of numbers below are all 1M-blocks in df -BM.
| Object | Formatted size | Metadata Use (Base) | finobt=1 | reflink=1 | rmapbt=1 |
|---|---|---|---|---|---|
| 26TB HDD | 24794120 | 34 | 24696 | 148172 | 301877 |
| 100GiB file | 102336 | 33 | 102 | 611 | 1246 |
| 0.1% | 0.6% | 1.2175% |
So if you format your filesystem with -m finobt=0,reflink=0,rmapbt=0, you get only 33-34MB reserved for its metadata. If you format with default option, which today equals to -m finobt=1,reflink=1,rmapbt=1, you will get 34+24696+148172+301877 = 474779M reserved for its metadata on a 26TB drive.
You can check man page of mkfs.xfs to understand what each option does, but here's a TLDR:
finobt=1creates a separate index for free space only (excluding occupied space). It's useful for frequently used and aged filesystem where finding a piece of free space is time consuming.reflink=1allows you to use reflink, which is a way of deduplication / copy on write mechanism.rmapbt=1creates a reverse mapping index that would help to recover the filesystem if the primary index is broken somehow.
Each option can be enabled and disabled separately, and each feature has its own portion of reserved space. So if you only enable reflink you'll lose 0.6% of space only.
(Yes, 2% of space sounds not much, but given that many of us has hundreds of TBs, 2% of 200TB is 4TB. That's not a small number.)
Posted Dec 8, 2025, 3:28 AM UTC