| To: | Dave Chinner <david@xxxxxxxxxxxxx> |
|---|---|
| Subject: | Re: [PATCH 8/8] xfs: fix dquot shaker deadlock |
| From: | Christoph Hellwig <hch@xxxxxxxxxxxxx> |
| Date: | Tue, 25 Jan 2011 04:52:42 -0500 |
| Cc: | xfs@xxxxxxxxxxx |
| In-reply-to: | <1295945444-29488-9-git-send-email-david@xxxxxxxxxxxxx> |
| References: | <1295945444-29488-1-git-send-email-david@xxxxxxxxxxxxx> <1295945444-29488-9-git-send-email-david@xxxxxxxxxxxxx> |
| User-agent: | Mutt/1.5.21 (2010-09-15) |
On Tue, Jan 25, 2011 at 07:50:44PM +1100, Dave Chinner wrote:
> From: Dave Chinner <dchinner@xxxxxxxxxx>
>
> Commit 368e136 ("xfs: remove duplicate code from dquot reclaim") fails
> to unlock the dquot freelist when the number of loop restarts is
> exceeded in xfs_qm_dqreclaim_one(). This causes hangs in memory
> reclaim. Remove the bogus loop exit check that causes the problem.
The fix looks correct, but it's a bit inconsequential about when
to adhere the retry limit and when not. Shouldn't we just turn the
exit condition into:
if (dqout || restarts >= XFS_QM_RECLAIM_MAX_RESTARTS)
break;
also the failure to acquite qi_dqlist_lock increments the restart
count twice, which was also added in the same commit.
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: [PATCH 5/8] xfs: prevent extsize alignment from exceeding maximum extent size, Christoph Hellwig |
|---|---|
| Next by Date: | Re: [PATCH 7/8] xfs: handle CIl transaction commit failures correctly, Christoph Hellwig |
| Previous by Thread: | [PATCH 8/8] xfs: fix dquot shaker deadlock, Dave Chinner |
| Next by Thread: | Re: [PATCH 8/8] xfs: fix dquot shaker deadlock, Dave Chinner |
| Indexes: | [Date] [Thread] [Top] [All Lists] |