Hi all, Here's v2 of the collapse clean up. We refactor a bit more via the insertion of patch 3, otherwise it's similar to v1. This will see some continued testing, but it survived ~500m fsx operations overnight. Brian v2: - Rename helpers to xfs_bmse_*() scheme. - Rearrange logic and minor cleanups to xfs_bmse[_can]_merge(). - Inserted patch 3 to further refactor xfs_bmap_shift_extents() into xfs_bmse_shift_one(). - Return corruption error rather than BUG_ON() in patch 4 and detect error in new helper. v1: http://oss.sgi.com/archives/xfs/2014-09/msg00061.html - Retain the eofblocks trim and writeback/inval. the range of shifted data only. - Added the xfs_free_file_space() patch to no longer writeback the entire file. rfc: http://oss.sgi.com/archives/xfs/2014-08/msg00462.html Brian Foster (5): xfs: track collapse via file offset rather than extent index xfs: refactor shift-by-merge into xfs_bmse_merge() helper xfs: refactor single extent shift into xfs_bmse_shift_one() helper xfs: writeback and inval. file range to be shifted by collapse xfs: only writeback and truncate pages for the freed range fs/xfs/libxfs/xfs_bmap.c | 365 +++++++++++++++++++++++++++++++---------------- fs/xfs/libxfs/xfs_bmap.h | 7 +- fs/xfs/xfs_bmap_util.c | 54 ++++--- 3 files changed, 275 insertions(+), 151 deletions(-) -- 1.8.3.1 _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs