All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] xfs: fix buffer delwri queue state race
@ 2018-06-07 12:41 Brian Foster
  2018-06-07 12:41 ` [PATCH 1/2] xfs: define internal buf flag for delwri queue wait list Brian Foster
  2018-06-07 12:41 ` [PATCH 2/2] xfs: allow delwri requeue of wait listed buffers Brian Foster
  0 siblings, 2 replies; 7+ messages in thread
From: Brian Foster @ 2018-06-07 12:41 UTC (permalink / raw)
  To: linux-xfs

Hi all,

This is an attempt to fix a race when queuing a buffer to a delwri queue
that happens to already sit on a delwri queue wait list. The problem is
reproduced by xfs/305 under particular conditions. The details are
described in the commit log description of patch 2.

This survives xfstests and repeated runs of xfs/305. Note that the test
still reproduces the known log deadlock problem when quotaoff runs
against a heavily loaded fs. I've hacked around that problem locally to
rule it out from repetition testing of xfs/305.

Thoughts, reviews, flames appreciated.

Brian

Brian Foster (2):
  xfs: define internal buf flag for delwri queue wait list
  xfs: allow delwri requeue of wait listed buffers

 fs/xfs/xfs_buf.c | 79 +++++++++++++++++++++++++++++++-----------------
 fs/xfs/xfs_buf.h |  4 ++-
 2 files changed, 54 insertions(+), 29 deletions(-)

-- 
2.17.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2018-06-09 11:26 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-06-07 12:41 [PATCH 0/2] xfs: fix buffer delwri queue state race Brian Foster
2018-06-07 12:41 ` [PATCH 1/2] xfs: define internal buf flag for delwri queue wait list Brian Foster
2018-06-07 12:41 ` [PATCH 2/2] xfs: allow delwri requeue of wait listed buffers Brian Foster
2018-06-07 23:27   ` Dave Chinner
2018-06-08 12:07     ` Brian Foster
2018-06-08 22:49       ` Dave Chinner
2018-06-09 11:26         ` Brian Foster

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.