Hi all, Here's v3 of the delalloc indlen reservation fix. This version incorporates Christoph's review feedback from v2. The test instrumentation patch is updated to better compile out bits in !DEBUG mode and patch 3/3 from v2 is split into two patches. The first refactors the code and creates the new helper. The second updates the mechanism to implement block borrowing from the data extent. As a note, I investigated burying the DEBUG mode stuff down in xfs_get_blocks(). The hope was that we could artificially mark the buffers as new to maintain the aggressive block tossing behavior, but as it turns out, the buffer_new() state is not returned out of that context. __block_write_begin() zeroes and clears any new buffers in the event of an error. This does raise the question of how relevant the buffer_new() checks are in xfs_vm_write_failed(), but that's a separate issue. Thoughts, reviews, flames appreciated. Brian v3: - Drop RFC from test instrumentation patch. - Update test instrumentation patch to use inline helper and compile more out in !DEBUG mode. - Split block borrowing patch into 2 patches. v2: http://oss.sgi.com/pipermail/xfs/2016-February/047300.html - Rebase to latest for-next branch. - Include RFC test instrumentation patch. v1: http://oss.sgi.com/archives/xfs/2014-10/msg00294.html - xfs_bunmapi() code into independent patch. - Refactor fix into separate helper function. rfc: http://oss.sgi.com/archives/xfs/2014-09/msg00337.html Brian Foster (4): xfs: debug mode forced buffered write failure xfs: update freeblocks counter after extent deletion xfs: refactor delalloc indlen reservation split into helper xfs: borrow indirect blocks from freed extent when available fs/xfs/libxfs/xfs_bmap.c | 161 ++++++++++++++++++++++++++++++++++------------- fs/xfs/xfs_aops.c | 9 ++- fs/xfs/xfs_mount.h | 25 ++++++++ fs/xfs/xfs_sysfs.c | 78 ++++++++++++++++++++--- 4 files changed, 219 insertions(+), 54 deletions(-) -- 2.4.3 _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs