r/DataHoarder•
msg7086

XFS Filesystem metadata reserved space for different format options

Guide/How-to

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.

ObjectFormatted sizeMetadata Use (Base)finobt=1reflink=1rmapbt=1
26TB HDD247941203424696148172301877
100GiB file102336331026111246
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=1 creates 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=1 allows you to use reflink, which is a way of deduplication / copy on write mechanism.
  • rmapbt=1 creates 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

62
Loading comments…