The original kernel patch that Dave wrote for xfs_spaceman implemented
FS_IOC_FIEMAPFS ioctl, here is the original fiemap extension patch:
These patches were not posted and were just forward ported to a current
3.18-rc7+ for-next XFS tree and were pushed to the fiemapfs branch in Dave's
kernel tree at:
The original xfs_spaceman tool that Dave wrote to call the fiemap
interface and make use of it is here:
Dave just updated it to the 3.2.2 code base and pushed it to the
spaceman branch in this tree:
The description of patches in this series are as follows:
1) [PATCH 1/4] xfs: Accounting for AGFL blocks in xfs_spaceman
This patch adds functionality in xfs_spaceman allowing it to
account for AG Free List blocks. The previous version of
xfs_spaceman failed to account for AGFL blocks as they
aren't found by walking the free space btrees, so we have to
walk each AGFL to find them. A new function
xfs_alloc_agfl_freespace_map() is added which will walk the free
extents in AGFL and account for these AGFL blocks by using
agf_flfirst, agf_fllast and agf_flcount fields.
2) [PATCH 2/4] xfsprogs: Addition in debug option -d of xfs_spaceman
This patch allows adding a title for the contents which are
printed when xfs_spaceman is run with -d debug option from command
line. The titles added are agno, agbno and len.
3) [PATCH 3/4] xfs: Adding XFS_IOC_FIEMAPFS ioctl for use in xfs_spaceman
This patch is concerned with the changes made in kernel space code
for adding a new XFS specific ioctl XFS_IOC_FIEMAPFS in xfs_spaceman.
This ioctl will replace a file based ioctl FS_IOC_FIEMAPFS, and allow
us to modify the ioctl as per requirement in the future.
4) [PATCH 4/4] xfprogs: Adding XFS_IOC_FIEMAPFS ioctl for use inxfs_spaceman
This patch is concerened with the changes made in user space code
for using XFS_IOC_FIEMAPFS ioctl in xfs_spaceman, which will replace
FS_IOC_FIEMAPFS and make use of fiemap plumbing.
Comments, thoughts etc are welcome.