| To: | Lachlan McIlroy <lachlan@xxxxxxx> |
|---|---|
| Subject: | Re: [PATCH] Use KM_NOFS for debug trace buffers |
| From: | Dave Chinner <david@xxxxxxxxxxxxx> |
| Date: | Tue, 5 Aug 2008 17:39:37 +1000 |
| Cc: | xfs-oss <xfs@xxxxxxxxxxx>, xfs-dev <xfs-dev@xxxxxxx> |
| In-reply-to: | <4897FCC7.400@sgi.com> |
| Mail-followup-to: | Lachlan McIlroy <lachlan@xxxxxxx>, xfs-oss <xfs@xxxxxxxxxxx>, xfs-dev <xfs-dev@xxxxxxx> |
| References: | <4897FCC7.400@sgi.com> |
| Sender: | xfs-bounce@xxxxxxxxxxx |
| User-agent: | Mutt/1.5.18 (2008-05-17) |
On Tue, Aug 05, 2008 at 05:09:59PM +1000, Lachlan McIlroy wrote: > Use KM_NOFS to prevent recursion back into the filesystem which can > cause deadlocks. > > In the case of xfs_iread() we hold the lock on the inode cluster buffer > while allocating memory for the trace buffers. If we recurse back into > XFS to flush data that may require a transaction to allocate extents > which needs log space. This can deadlock with the xfsaild thread which > can't push the tail of the log because it is trying to get the inode > cluster buffer lock. Looks OK. Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx |
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: [PATCH] Don't release root inode until finished using it, Dave Chinner |
|---|---|
| Next by Date: | TAKE 981498 - replace inode flush semaphore with a completion, Lachlan McIlroy |
| Previous by Thread: | [PATCH] Use KM_NOFS for debug trace buffers, Lachlan McIlroy |
| Next by Thread: | TAKE 981498 - use get_unaligned_* helpers, Lachlan McIlroy |
| Indexes: | [Date] [Thread] [Top] [All Lists] |