xfs
[Top] [All Lists]

Re: crash with latest code drop.

To: Peter Leckie <pleckie@xxxxxxx>
Subject: Re: crash with latest code drop.
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Thu, 16 Oct 2008 16:55:30 +1100
Cc: xfs@xxxxxxxxxxx
In-reply-to: <48F6AA3E.8030902@xxxxxxx>
Mail-followup-to: Peter Leckie <pleckie@xxxxxxx>, xfs@xxxxxxxxxxx
References: <48F54C20.8060704@xxxxxxx> <20081015011857.GS10716@disturbed> <20081015022948.GA20966@xxxxxxxxxxxxx> <20081015031645.GA25906@disturbed> <20081015032431.GA7426@xxxxxxxxxxxxx> <20081015035116.GB25906@disturbed> <48F584B8.8060907@xxxxxxx> <20081015061917.GC25906@disturbed> <48F5A104.5060506@xxxxxxx> <48F6AA3E.8030902@xxxxxxx>
User-agent: Mutt/1.5.18 (2008-05-17)
On Thu, Oct 16, 2008 at 12:43:10PM +1000, Peter Leckie wrote:
>
>>>  - it's the same as
>>> the first report - deferencing the linux inode without first having
>>> a refernce on it.
>>>   
>>
>> Yes it resolves the issue.
>
> I spoke to soon, Ooops as follows:
....

> Adding the following resolved the issue however you may wish to solve it  
> in another manner.
>
> @@ -102,7 +102,7 @@ xfs_sync_inodes_ag(
>                 * in reclaim. Leave it for the reclaim code to flush.
>                 */
>                inode = VFS_I(ip);
> -               if (!igrab(inode)) {
> +               if (!inode || !igrab(inode)) {
>                        read_unlock(&pag->pag_ici_lock);
>                        continue;
>                }

Yes, or you could simply apply the "combine linux/XFS inode" patch
series and then VFS_I(ip) will never, ever return NULL.

Cheers,

Dave.
-- 
Dave Chinner
david@xxxxxxxxxxxxx

<Prev in Thread] Current Thread [Next in Thread>