I am curious about how this happens. <div>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&#39;t be corrupted or can&#39;t be recovery by journaling.</div>
<div><br></div><div>Anyway, this is reported as XFS INTERNAL ERROR.</div><div><br></div><div>XFS internal error XFS_WANT_CORRUPTED_GOTO at line 4147 of file fs/xfs/xfs_bmap.c.  Caller 0x871b9c26<br><br></div><div><br></div>
<div>Thanks,</div><div>Mike</div><div><br><div class="gmail_quote">On Thu, Sep 16, 2010 at 8:44 PM, Dave Chinner <span dir="ltr">&lt;<a href="mailto:david@fromorbit.com">david@fromorbit.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div><div></div><div class="h5">On Wed, Sep 15, 2010 at 10:59:07AM -0500, Mike Gao wrote:<br>
&gt; xlog_recover_process_iunlinks(<br>
&gt;     xlog_t        *log)<br>
&gt; {<br>
&gt;                 /*<br>
&gt;                  * Reacquire the agibuffer and continue around<br>
&gt;                  * the loop. This should never fail as we know<br>
&gt;                  * the buffer was good earlier on.<br>
&gt;                  */<br>
&gt;                 error = xfs_read_agi(mp, NULL, agno, &amp;agibp);<br>
&gt;                 ASSERT(error == 0);<br>
&gt;                 agi = XFS_BUF_TO_AGI(agibp);<br>
&gt;<br>
&gt; }<br>
&gt; If no defined DEBUG, ASSERT will not work and agibp could be ZERO if there<br>
&gt; is a error in xfs_read_agi.<br>
&gt; And the comment shouldn&#39;t say it never fail because  xfs_read_agi will<br>
&gt; return error in function and it does when there is forced shutdown.<br>
<br>
</div></div>Have you seen a failure here?<br>
<br>
Cheers,<br>
<br>
Dave.<br>
<font color="#888888">--<br>
Dave Chinner<br>
<a href="mailto:david@fromorbit.com">david@fromorbit.com</a><br>
</font></blockquote></div><br></div>