[PATCH 0/4] xfs: various rough fixes

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

 



Hi all,

Here's a bunch of crazy fixes that I've been working on.  The first one
tries to solve the fragmentation problems that Dave reported[1] in the
stupidest way possible.  Namely, we only ever trim post-eof speculative
preallocations the /first/ time that we close a file, regardless of the
dirty state.

The second patch tries to fix a stale data exposure bug revealed by
generic/042.  It does this by changing xfs to convert delalloc extents
to unwritten extents and only converting those into real extents once
the data write succeeds.  We already do this for the cow fork, so it
seems pretty straightforward to do the same for the data fork.

The third patch adds instrumentation to make it easier to detect when
we roll a transaction beyond the initial logcount, and therefore are
having to reserve more log space.

The fourth patch effectively increases the number of times we can roll
an end_cow transaction without having to go back for more reservation.
This is intended to fix the problem outlined in [2] which will fix the
periodic xfs/347 deadlocks.

[1] https://marc.info/?l=linux-xfs&m=154951612101291&w=2
[2] https://marc.info/?l=linux-xfs&m=155241472431249&w=2


If you're going to start using this mess, you probably ought to just
pull from my git trees, which are linked below.

This is an extraordinary way to destroy everything.  Enjoy!
Comments and questions are, as always, welcome.

--D

kernel git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfs-linux.git/log/?h=rough-fixes



[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux