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.
- 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
- Return corruption error rather than BUG_ON() in patch 4 and detect
error in new helper.
- Retain the eofblocks trim and writeback/inval. the range of shifted
- Added the xfs_free_file_space() patch to no longer writeback the
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(-)