xfs
[Top] [All Lists]

Re: The segment fault with NULL point using when recovering failure

To: xfs@xxxxxxxxxxx, Dave Chinner <david@xxxxxxxxxxxxx>, Christoph Hellwig <hch@xxxxxxxxxxxxx>, Eric Sandeen <sandeen@xxxxxxxxxxx>
Subject: Re: The segment fault with NULL point using when recovering failure
From: Mike Gao <ygao.linux@xxxxxxxxx>
Date: Fri, 24 Sep 2010 10:53:43 -0500
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:content-type; bh=V5G2l6hGWDxoI0AIaw1wPTf1B0Q0cwFUEad/bb7tX6E=; b=s0NEBQ6a7R0GgWg56vDyhHDjwF2yVTH7WAGs+y4nnjd1zwFCrBAhO+76bRT2i9rbU7 T9g91t4PhuTNEitsZiGqS551c//aOKB2cjQeHBNNuytwwJENUeEUwbABeQGxzTp9BPu1 xD984P1uQH9hk4CV1Cj+c36B3krXccpisqOy4=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=dqyRMBsT5URxpBIH2A+pxymQBz9nA0hfT4VL5w03tnaLjP6daijT0WYWg+kf9H+6UA HXEp/ioN7xz2ofEIkY5AgqgStipIs7hd5i1Bde2lMzkWsxKsfYImoIAOa+djAaAHM+sk VsvXDhkAcVVtk1sxEyZEslLjxDtbE8EnvEUJE=
In-reply-to: <20100917014412.GK24409@dastard>
References: <AANLkTimR-dBLmQQ-Nh0mmjHJMfFidePKxfO6P76y48n8@xxxxxxxxxxxxxx> <20100917014412.GK24409@dastard>
I am curious about how this happens. 
This error is caused by log recovery when mount try to fill super block. As super block is protected by log or Journaling, it shouldn't be corrupted or can't be recovery by journaling.

Anyway, this is reported as XFS INTERNAL ERROR.

XFS internal error XFS_WANT_CORRUPTED_GOTO at line 4147 of file fs/xfs/xfs_bmap.c.  Caller 0x871b9c26


Thanks,
Mike

On Thu, Sep 16, 2010 at 8:44 PM, Dave Chinner <david@xxxxxxxxxxxxx> wrote:
On Wed, Sep 15, 2010 at 10:59:07AM -0500, Mike Gao wrote:
> xlog_recover_process_iunlinks(
>     xlog_t        *log)
> {
>                 /*
>                  * Reacquire the agibuffer and continue around
>                  * the loop. This should never fail as we know
>                  * the buffer was good earlier on.
>                  */
>                 error = xfs_read_agi(mp, NULL, agno, &agibp);
>                 ASSERT(error == 0);
>                 agi = XFS_BUF_TO_AGI(agibp);
>
> }
> If no defined DEBUG, ASSERT will not work and agibp could be ZERO if there
> is a error in xfs_read_agi.
> And the comment shouldn't say it never fail because  xfs_read_agi will
> return error in function and it does when there is forced shutdown.

Have you seen a failure here?

Cheers,

Dave.
--
Dave Chinner
david@xxxxxxxxxxxxx

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