---
name: "xfs_bmap"
section: "8"
platform: "linux"
package: "xfsprogs"
version: "7.2.1-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/xfs_bmap"
---

# xfs\_bmap(8)

print block mapping for an XFS file

## NAME

xfs\_bmap - print block mapping for an XFS file

## SYNOPSIS

**xfs\_bmap** \[ **-adelpv** \] \[ **-n** *num\_extents* \] *file*\
 **xfs\_bmap -V**

## DESCRIPTION

**xfs\_bmap** prints the map of disk blocks used by files in an XFS filesystem. The map lists each *extent* used by the file, as well as regions in the file that do not have any corresponding blocks (holes). Each line of the listings takes the following form:

*extent*: \[*startoffset*..*endoffset*\]: *startblock*..*endblock*

Holes are marked by replacing the *startblock*..*endblock* with *hole*. All the file offsets and disk blocks are in units of 512-byte blocks, no matter what the filesystem's block size is.

## OPTIONS

- **-a**

  If this option is specified, information about the file's attribute fork is printed instead of the default data fork.

- **-e**

  If this option is used, **xfs\_bmap** obtains all delayed allocation extents, and does not flush dirty pages to disk before querying extent data. With the **-v** option, the *flags* column will show which extents have not yet been allocated.

- **-l**

  If this option is used, then

-

  \<*nblocks*\>  blocks

-

  will be appended to each line. *nblocks* is the length of the extent described on the line in units of 512-byte blocks.

-

  This flag has no effect if the **-v** option is used.

- **-n** *num\_extents*

  If this option is given, **xfs\_bmap** will display at most *num\_extents* extents. In the absence of **-n**, **xfs\_bmap** will display all extents in the file.

- **-p**

  If this option is used, **xfs\_bmap** obtains all unwritten (preallocated) extents that do not contain written data. With the **-v** option, the *flags* column will show which extents are preallocated/unwritten.

- **-v**

  Shows verbose information. When this flag is specified, additional AG specific information is appended to each line in the following form:

-

  *agno* (*startagoffset*..*endagoffset*) *nblocks* *flags*

-

  A second **-v** option will print out the *flags* legend.

- **-V**

  Prints the version number and exits.

## SEE ALSO

[**xfs\_fsr**(8)](/xfs_fsr/8.md), [**xfs**(5)](/xfs/5.md).
