Subject: UFS_DIRHASH broken in -current (i386 + MP) ?
To: None <current-users@netbsd.org>
From: Markus W Kilbinger <mk@kilbi.de>
List: current-users
Date: 08/09/2005 17:15:38
Hi!

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?

Markus.