Hi all, this series tries to take the xfs_bmapi_wite retval fix a little further, but I'm not entirely happy with the result. The first patch is the actual return value fix with the comments fixed up as per the comment from Darrick, and a dead check removed I found while developing the rest. The following patches are random cleanups to get the code in shape for the last patches. The second to last patch fixes long-standing issues in xfs_bmap_add_extent_delay_real in code paths that haven't been used much or at all. The last patch changes xfs_bmapi_write to not convert the entire delalloc extent if it hits one. This sounds simpler than it is, because delalloc conversion has been designed to always convert the entire extent since the initial delalloc commits. I'm not really sure that putting strain on this code now will do us much good, so I'll just leave these patches out for comments for now and will look into how coding up a loop of delalloc conversion calls in every place that could allocate blocks in the data fork of a regular file and thus hit delalloc so we can compare the approaches. In the mean time I think that patch 1 is a candidate for 6.9 as it fixes the fuzzer problem. Diffstat: libxfs/xfs_attr_remote.c | 1 libxfs/xfs_bmap.c | 120 ++++++++++++++++++++++++++++------------------- libxfs/xfs_da_btree.c | 20 +------ scrub/quota_repair.c | 6 -- scrub/rtbitmap_repair.c | 2 xfs_bmap_util.c | 31 +++++------- xfs_dquot.c | 1 xfs_iomap.c | 8 --- xfs_reflink.c | 14 ----- xfs_rtalloc.c | 2 10 files changed, 93 insertions(+), 112 deletions(-)