From: Darrick J. Wong Date: Tue, 25 Oct 2016 01:42:12 +0000 (+1100) Subject: xfs: teach get_bmapx about shared extents and the CoW fork X-Git-Tag: v4.9.0-rc1~86 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=464e5807ebc606a902ffb36c52101cbc6f0cea30;p=thirdparty%2Fxfsprogs-dev.git xfs: teach get_bmapx about shared extents and the CoW fork Source kernel commit: f86f403794b1446b68afb3c233d4c0bc0e93b654 Teach xfs_getbmapx how to report shared extents and CoW fork contents accurately in the bmap output by querying the refcount btree appropriately. Signed-off-by: Darrick J. Wong Reviewed-by: Christoph Hellwig --- diff --git a/libxfs/xfs_fs.h b/libxfs/xfs_fs.h index f291a5352..bb70066ee 100644 --- a/libxfs/xfs_fs.h +++ b/libxfs/xfs_fs.h @@ -105,14 +105,16 @@ struct getbmapx { #define BMV_IF_PREALLOC 0x4 /* rtn status BMV_OF_PREALLOC if req */ #define BMV_IF_DELALLOC 0x8 /* rtn status BMV_OF_DELALLOC if req */ #define BMV_IF_NO_HOLES 0x10 /* Do not return holes */ +#define BMV_IF_COWFORK 0x20 /* return CoW fork rather than data */ #define BMV_IF_VALID \ (BMV_IF_ATTRFORK|BMV_IF_NO_DMAPI_READ|BMV_IF_PREALLOC| \ - BMV_IF_DELALLOC|BMV_IF_NO_HOLES) + BMV_IF_DELALLOC|BMV_IF_NO_HOLES|BMV_IF_COWFORK) /* bmv_oflags values - returned for each non-header segment */ #define BMV_OF_PREALLOC 0x1 /* segment = unwritten pre-allocation */ #define BMV_OF_DELALLOC 0x2 /* segment = delayed allocation */ #define BMV_OF_LAST 0x4 /* segment is the last in the file */ +#define BMV_OF_SHARED 0x8 /* segment shared with another file */ /* * Structure for XFS_IOC_FSSETDM.