[PATCH 1/2] fiemap: add freespace mapping to FS_IOC_FIEMAP
Mark Tinguely
tinguely at sgi.com
Thu Nov 8 10:50:49 CST 2012
On 10/18/12 00:11, Dave Chinner wrote:
> From: Dave Chinner<dchinner at redhat.com>
>
> fiemap is used to map extents of used space on files. it's just an
> array of extents, though, so there's no reason it can only index
> *used* space.
>
> Ther eis need for getting freespace layout information into
> userspace. For example, defragmentation programs would find it
> useful to be able to map the free space in the filesystem to
> work out where it is best to move data to defragment it.
> Alternatively, knowing where free space is enables us to identify
> extents that need to be moved to defragment free space.
>
> Hence, extend fiemap with the FIEMAP_FLAG_FREESPACE to indicate that
> the caller wants to map free space in the range fm_start bytes from
> the start of the filesystem for fm_length bytes.
>
> Because XFS can report extents in size order without needing to
> sort, and this information is useful to xfs_fsr, also add
> FIEMAP_FLAG_FREESPACE_SIZE to tell the filesystem to return a
> freespace map ordered by extent size rather than offset. If there
> are multiple extents of the same size, then they are ordered by
> offset.
>
> Signed-off-by: Dave Chinner<dchinner at redhat.com>
> ---
...
> --------------
> diff --git a/include/linux/fiemap.h b/include/linux/fiemap.h
> index d830747..f4fbb9f 100644
> --- a/include/linux/fiemap.h
> +++ b/include/linux/fiemap.h
include/uabi/linux/fiemap.h
^^^^
other than that, it looks good.
Reviewed-by: Mark Tinguely <tinguely at sgi.com>
More information about the xfs
mailing list