Linux 2.4-bk: Kernel BUG at dcache.c:653

Andrew Walrond (andrew@walrond.org)
Tue, 01 Apr 2003 16:08:06 +0100


On about 50% of reboots of a server, I get this BUG message while the
kernel has just started processing my init script.

This is a dual P3 machine with DAC960 raid card.

I am running the latest 2.4-bk kernel

Any clues what might cause this? Since I am running Richard Gooch's
simpleinit (with homebrew scripts) which does loads of init stuff in
parallel, I'm sure they must be the cause.

Very early in the scripts, root is remounted ro and fscked, then
remounted rw, while other parallel scripts wait on it to complete.

What does this BUG indicate? It occurs in this function:

/**
* d_instantiate - fill in inode information for a dentry
* @entry: dentry to complete
* @inode: inode to attach to this dentry
*
* Fill in inode information in the entry.
*
* This turns negative dentries into productive full members
* of society.
*
* NOTE! This assumes that the inode count has been incremented
* (or otherwise set) by the caller to indicate that it is now
* in use by the dcache.
*/

void d_instantiate(struct dentry *entry, struct inode * inode)
{
if (!list_empty(&entry->d_alias)) BUG();
spin_lock(&dcache_lock);
if (inode)
list_add(&entry->d_alias, &inode->i_dentry);
entry->d_inode = inode;
spin_unlock(&dcache_lock);
}

Andrew Walrond

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/