On Mon, Feb 29, 2016 at 09:29:27AM -0500, Brian Foster wrote:
> Hi all,
>
> This is a resurrection of an old fix for the indirect delalloc
> reservation split problem. The last version apparently fell through the
> cracks. The core problem and fix is the same and is described in patch
> 3.
>
> The original problem is not as reproducible as it was since the last
> version of this patch. The original zero range reproducer doesn't work
> because zero range has since been updated to flush and invalidate the
> affected range rather than kill any delayed allocation blocks in the in
> core extent tree. The side effect of this is that the problem does not
> currently have a clear reproducer, but the indirect reservation
> management code is still incorrect nonetheless.
>
> As a result, I've prepended an RFC test instrumentation patch that can
> help induce the problem[1]. I've marked the patch RFC simply because it
> is hacky and probably up in the air as to whether it is merge worthy. I
> wanted to have _something_ to help reproduce the problem and verify the
> fix, however, hence it is included here. I'm fine with either merging it
> or using it as a one-off verification and dropping it. Also, any other
> ideas for a more simple/elegant reproducer are welcome.
>
> Thoughts, reviews, flames appreciated.
>
> Brian
>
> [1] An update to the original xfstests test is also required. I'll send
> that update in a reply to this cover letter shortly.
>
Attached are a couple patches to update the test as described here. I'm
sending them as attachments because they aren't worth reviewing unless
patch 1/3 is merged as is. I'll send the test updates separately
(properly) depending on what results on the kernel side of things. In
the meantime, these are useful to demonstrate the problem on a current
kernel and test the fix.
Brian
> v2:
> - 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 (3):
> xfs: debug mode forced buffered write failure
> xfs: update icsb freeblocks counter after extent deletion
> xfs: borrow indirect blocks from freed extent when available
>
> fs/xfs/libxfs/xfs_bmap.c | 158
> ++++++++++++++++++++++++++++++++++-------------
> fs/xfs/xfs_aops.c | 9 ++-
> fs/xfs/xfs_mount.h | 9 +++
> fs/xfs/xfs_sysfs.c | 78 ++++++++++++++++++++---
> 4 files changed, 200 insertions(+), 54 deletions(-)
>
> --
> 2.4.3
>
> _______________________________________________
> xfs mailing list
> xfs@xxxxxxxxxxx
> http://oss.sgi.com/mailman/listinfo/xfs
0001-xfstests-move-generic-indlen-reservation-test-to-xfs.patch
Description: Text document
0002-tests-xfs-update-indlen-res.-test-to-use-fail-writes.patch
Description: Text document
|