Subject: Re: UFS_DIRHASH broken in -current (i386 + MP) ?
To: None <current-users@NetBSD.org>
From: Denis Lagno <dlagno@rambler.ru>
List: current-users
Date: 08/09/2005 21:24:28
On Tue, Aug 09, 2005 at 05:15:38PM +0200, Markus W Kilbinger scribed:
> Is anyone else running an UFS_DIRHASH activated -current kernel?
> 
> On my i386/MP machine with a quite full 160 GB disk it causes
> recurrent kernel panics about
> 
> >  */
> > static int
> > ufsdirhash_findslot(struct dirhash *dh, const char *name, int namelen,
> >     doff_t offset)
> > {
> >         int slot;
> > 
> >         /* Find the entry. */
> >         KASSERT(dh->dh_hused < dh->dh_hlen);
> >         slot = ufsdirhash_hash(dh, name, namelen);
> >         while (DH_ENTRY(dh, slot) != offset &&
> >             DH_ENTRY(dh, slot) != DIRHASH_EMPTY)
> >                 slot = WRAPINCR(slot, dh->dh_hlen);
> >         if (DH_ENTRY(dh, slot) != offset)
> >                 panic("ufsdirhash_findslot: '%.*s' not found", namelen, name);
>                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> panic message, mostly about temporary file(name)s during compilation.
> 
> Maybe it's not a new problem and I'm just triggering this problem with
> the increasing filling state of my disk... ;-)
> 
> Deactivating UFS_DIRHASH yields a flawlessly running kernel on the
> same machine/disk.
> 
> Is anybody else seeing this problem?

Yes, I've encountered "ufsdirhash_findslot: xxx not found" panic.
See: http://mail-index.NetBSD.org/current-users/2005/06/19/0003.html

In my case it was on disk, turned off during heavy IO and then successfully fsck'ed.
Uniprocessor in my case.