2.6.30 panic - xfs_fs_destroy_inode
Christoph Hellwig
hch at infradead.org
Tue Jul 21 09:12:25 CDT 2009
On Thu, Jul 02, 2009 at 07:31:30PM +0200, Patrick Schreurs wrote:
> Hi Christoph,
>
> With this patch we see the following:
>
> kernel BUG at fs/inode.c:1288!
Okay, I think I figured out what this is. You hit the case where
we re-use an inode that is gone from the VFS point of view, but
still in xfs reclaimable state. We reinitialize it using
inode_init_always, but inode_init_always does not touch i_state, which
still includes I_CLEAR. See the patch below which sets it to the
expected state. What really worries me is that I don't seem to be
able to actually hit that case in testing.
Can you try the patch below ontop of the previous one?
Index: linux-2.6/fs/xfs/xfs_iget.c
===================================================================
--- linux-2.6.orig/fs/xfs/xfs_iget.c 2009-07-21 16:07:41.654923213 +0200
+++ linux-2.6/fs/xfs/xfs_iget.c 2009-07-21 16:08:55.064151137 +0200
@@ -206,6 +206,7 @@ xfs_iget_cache_hit(
error = ENOMEM;
goto out_error;
}
+ inode->i_state = I_LOCK|I_NEW;
} else {
/* If the VFS inode is being torn down, pause and try again. */
if (!igrab(inode))
More information about the xfs
mailing list