Hi all, this is another fallout from the zoned XFS work, which stresses the XFS COW I/O path very heavily. It affects normal I/O to reflinked files as well, but is very hard to hit there. The main problem here is that we only punch out delalloc reservations from the data fork, but COW I/O places delalloc extents into the COW fork, which means that it won't get punched out for short writes. Diffstat: fs/iomap/buffered-io.c | 139 +++++++++++++++++++++++-------------------------- fs/xfs/xfs_aops.c | 4 - fs/xfs/xfs_bmap_util.c | 10 ++- fs/xfs/xfs_bmap_util.h | 2 fs/xfs/xfs_iomap.c | 57 ++++++++------------ include/linux/iomap.h | 11 ++- 6 files changed, 109 insertions(+), 114 deletions(-)