| 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> |
|---|---|---|
| ||
| Previous by Date: | Re: How can I recover data?, Barry Naujok |
|---|---|
| Next by Date: | Re: another problem with latest code drops, Dave Chinner |
| Previous by Thread: | Re: crash with latest code drop., Peter Leckie |
| Next by Thread: | Re: crash with latest code drop., Christoph Hellwig |
| Indexes: | [Date] [Thread] [Top] [All Lists] |