| To: | Lachlan McIlroy <lachlan@xxxxxxx> |
|---|---|
| Subject: | Re: [PATCH] Check if AIL has been started before stopping it |
| From: | Dave Chinner <david@xxxxxxxxxxxxx> |
| Date: | Tue, 10 Feb 2009 21:12:59 +1100 |
| Cc: | xfs@xxxxxxxxxxx |
| In-reply-to: | <4990D7EA.7020902@xxxxxxx> |
| Mail-followup-to: | Lachlan McIlroy <lachlan@xxxxxxx>, xfs@xxxxxxxxxxx |
| References: | <4990D7EA.7020902@xxxxxxx> |
| User-agent: | Mutt/1.5.18 (2008-05-17) |
On Tue, Feb 10, 2009 at 12:27:06PM +1100, Lachlan McIlroy wrote: > A failure during mount can result in shutting down the AIL when > it may not have been started up yet. The ail init/destroy are supposed to be called symmetrically. if the destroy is being called when the init has not been run or completed, then the bug is at the caller. Reading between the lines of your brief description of the problem, xfs_trans_ail_init() has failed with ENOMEM, and that has called xfs_trans_ail_destroy() erroneously. The correct fix is to call xlog_dealloc_log() when xfs_trans_ail_init() fails, not xfs_log_unmount_dealloc() which calls xfs_trans_ail_destroy() before calling xlog_dealloc_log(). Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx |
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: [PATCH] Check if AIL has been started before stopping it, Christoph Hellwig |
|---|---|
| Next by Date: | Re: XFS kernel BUG at fs/buffer.c:470! with 2.6.28.4, Dave Chinner |
| Previous by Thread: | Re: [PATCH] Check if AIL has been started before stopping it, Christoph Hellwig |
| Next by Thread: | [PATCH] Re-dirty pages on I/O error, Lachlan McIlroy |
| Indexes: | [Date] [Thread] [Top] [All Lists] |