xfs
[Top] [All Lists]

Re: [PATCH] Check if AIL has been started before stopping it

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>