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.