[PATCH v2 0/3] fix up indlen reservations on extent split

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

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



[Index of Archives]     [Linux XFS Devel]     [Linux Filesystem Development]     [Filesystem Testing]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux