| To: | Christoph Hellwig <hch@xxxxxxxxxxxxx> |
|---|---|
| Subject: | Re: [PATCH] Prevent log tail pushing from blocking on buffer locks |
| From: | Lachlan McIlroy <lachlan@xxxxxxx> |
| Date: | Thu, 24 Jul 2008 15:47:52 +1000 |
| Cc: | xfs-dev <xfs-dev@xxxxxxx>, xfs-oss <xfs@xxxxxxxxxxx> |
| In-reply-to: | <20080723112154.GA17338@xxxxxxxxxxxxx> |
| References: | <48857EFB.3030301@xxxxxxx> <20080723112154.GA17338@xxxxxxxxxxxxx> |
| Reply-to: | lachlan@xxxxxxx |
| Sender: | xfs-bounce@xxxxxxxxxxx |
| User-agent: | Thunderbird 2.0.0.14 (X11/20080421) |
Christoph Hellwig wrote: On Tue, Jul 22, 2008 at 04:32:27PM +1000, Lachlan McIlroy wrote:This changes xfs_inode_item_push() to use XFS_IFLUSH_ASYNC_NOBLOCK when flushing an inode so the flush wont block on inode cluster buffer lock. Also change the prototype of the IOP_PUSH operation so that xfsaild_push() can bump it's stuck count. This change was prompted by a deadlock that would only occur on a debug XFS where a thread creating an inode had the buffer locked and was trying to allocate space for the inode tracing facility. That recursed back into the filesystem to flush data which created a transaction and needed log space which wasn't available.The stuck propagation looks good, but I don't think this should be blindly done for all errors. The only error where it makes sense is the EAGAIN from xfs_iflush. All other returns inside the item_push handlers basically indicate filesystem corruption. Good point. Regardless of the error it's still an item that could not be pushed and is effectively 'stuck'. What do you recommend I do for other errors? Shutdown the filesystem? |
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: [PATCH 0/5] more vnode related macro cleanups, Christoph Hellwig |
|---|---|
| Next by Date: | Re: [PATCH] Prevent log tail pushing from blocking on buffer locks, Christoph Hellwig |
| Previous by Thread: | Re: [PATCH] Prevent log tail pushing from blocking on buffer locks, Christoph Hellwig |
| Next by Thread: | Re: [PATCH] Prevent log tail pushing from blocking on buffer locks, Christoph Hellwig |
| Indexes: | [Date] [Thread] [Top] [All Lists] |