All of lore.kernel.org
 help / color / mirror / Atom feed
From: Brian Foster <bfoster@redhat.com>
To: linux-xfs@vger.kernel.org
Cc: Eryu Guan <eguan@redhat.com>, Dave Chinner <david@fromorbit.com>
Subject: [PATCH 0/5] xfs: quota deadlock fixes
Date: Wed, 15 Feb 2017 10:40:42 -0500	[thread overview]
Message-ID: <1487173247-5965-1-git-send-email-bfoster@redhat.com> (raw)

Hi all,

This is a collection of several quota related deadlock fixes for
problems that have been reported to the list recently.

Patch 1 fixes the low memory quotacheck problem reported by Martin[1].
Dave is CC'd as he had comments on this particular thread that started a
discussion, but I hadn't heard anything back since my last response.

Patch 2 fixes a separate problem I ran into while attempting to
reproduce Eryu's xfs/305 hang report[2]. 

Patches 3-5 fix the actual problem reported by Eryu, which is a quotaoff
deadlock reproduced by xfs/305.

Further details are included in the individual commit log descriptions.
Thoughts, reviews, flames appreciated.

Eryu,

I've run several hundred iterations of this on your reproducer system
without reproducing the hang. I have reproduced a reset overnight but
still haven't been able to grab a stack trace from that occurrence (I'll
try again today/tonight with better console logging). I suspect this is
a separate problem (possibly just an ASSERT() failure as this is a DEBUG
kernel), but I'd appreciate any testing you can run against these
patches to verify.

Brian

[1] http://www.spinics.net/lists/linux-xfs/msg01901.html
[2] http://www.spinics.net/lists/linux-xfs/msg03835.html

Brian Foster (5):
  xfs: bypass dquot reclaim to avoid quotacheck deadlock
  xfs: allocate quotaoff transactions up front to avoid log deadlock
  xfs: support ability to wait on new inodes
  xfs: update ag iterator to support wait on new inodes
  xfs: wait on new inodes during quotaoff dquot release

 fs/xfs/xfs_icache.c      | 58 ++++++++++++++++++++++++++++++++++++++++--------
 fs/xfs/xfs_icache.h      |  8 +++++++
 fs/xfs/xfs_inode.h       |  4 +++-
 fs/xfs/xfs_qm.c          | 11 +++++++++
 fs/xfs/xfs_qm.h          |  1 +
 fs/xfs/xfs_qm_syscalls.c | 45 +++++++++++++++++++++----------------
 6 files changed, 98 insertions(+), 29 deletions(-)

-- 
2.7.4


             reply	other threads:[~2017-02-15 15:40 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-15 15:40 Brian Foster [this message]
2017-02-15 15:40 ` [PATCH 1/5] xfs: bypass dquot reclaim to avoid quotacheck deadlock Brian Foster
2017-02-16 22:37   ` Dave Chinner
2017-02-17 18:30     ` Brian Foster
2017-02-17 23:12       ` Dave Chinner
2017-02-18 12:55         ` Brian Foster
2017-02-15 15:40 ` [PATCH 2/5] xfs: allocate quotaoff transactions up front to avoid log deadlock Brian Foster
2017-04-26 21:23   ` Darrick J. Wong
2017-04-27 12:03     ` Brian Foster
2017-04-27 15:47       ` Darrick J. Wong
2017-02-15 15:40 ` [PATCH 3/5] xfs: support ability to wait on new inodes Brian Foster
2017-04-27 21:15   ` Darrick J. Wong
2017-02-15 15:40 ` [PATCH 4/5] xfs: update ag iterator to support " Brian Foster
2017-04-27 21:17   ` Darrick J. Wong
2017-02-15 15:40 ` [PATCH 5/5] xfs: wait on new inodes during quotaoff dquot release Brian Foster
2017-04-27 21:17   ` Darrick J. Wong
2017-02-16  7:42 ` [PATCH 0/5] xfs: quota deadlock fixes Eryu Guan
2017-02-16 12:01   ` Brian Foster
2017-02-17  6:53 ` Eryu Guan
2017-02-17 17:54   ` Brian Foster
2017-02-20  3:52     ` Eryu Guan
2017-02-20 13:25       ` Brian Foster
2017-02-22 15:35         ` Brian Foster

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1487173247-5965-1-git-send-email-bfoster@redhat.com \
    --to=bfoster@redhat.com \
    --cc=david@fromorbit.com \
    --cc=eguan@redhat.com \
    --cc=linux-xfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.