xfs
[Top] [All Lists]

Re: kernel BUG at xfs_aops.c:610!

To: linux-xfs@xxxxxxxxxxx
Subject: Re: kernel BUG at xfs_aops.c:610!
From: KELEMEN Peter <Peter.Kelemen@xxxxxxx>
Date: Fri, 6 Jun 2003 12:19:07 +0200
In-reply-to: <20030605235441.GB764@frodo>
Mail-followup-to: linux-xfs@xxxxxxxxxxx
Organization: CERN European Laboratory for Particle Physics, Switzerland
References: <20030605152804.GA2344@xxxxxxxxxxxxxxx> <20030605235441.GB764@frodo>
Sender: linux-xfs-bounce@xxxxxxxxxxx
User-agent: Mutt/1.5.4i
* Nathan Scott (nathans@xxxxxxx) [20030606 09:54]:

Nathan,

> Can you give some context around line 610 in fs/xfs/linux/xfs_aops.c
> from your XFS source, Peter?  (there is no BUG() call there anymore).

Sure, here it is:

   602          if (create &&
   603              ((!buffer_mapped(bh_result) && !buffer_uptodate(bh_result)) 
||
   604               (offset >= inode->i_size))) {
   605                  set_bit(BH_New, &bh_result->b_state);
   606          }
   607
   608          if (pbmap.pbm_flags & PBMF_DELAY) {
   609                  if (unlikely(direct))
   610                          BUG();
   611
   612                  if (create) {
   613                          set_bit(BH_Mapped, &bh_result->b_state);
   614                  }
   615                  set_bit(BH_Delay, &bh_result->b_state);
   616          }

fs/xfs/linux/xfs_version.h says it is:
#define XFS_VERSION_STRING "1.2.0"

> I think I know what this is (I have seen something like this, if I'm
> second guessing where this is in the code correctly, under very high
> stress), but we don't have a fix for it yet.  Are you saying above
> that you have an easy case for reproducing it?  That would be handy.

Yes, I have reproduced the exact same oops several times,
unfortunately it damaged my root XFS filesystem beyond repair.
I'm currently building it again and see if I can get the oops
back.

Peter

-- 
    .+'''+.         .+'''+.         .+'''+.         .+'''+.         .+''
 Kelemen Péter     /       \       /       \     Peter.Kelemen@xxxxxxx
.+'         `+...+'         `+...+'         `+...+'         `+...+'


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