Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 16 Nov 2007 03:06:32 +0000 (UTC)
From:      Tor Egge <Tor.Egge@cvsup.no.freebsd.org>
To:        kris@FreeBSD.org
Cc:        ups@FreeBSD.org, kib@FreeBSD.org, current@FreeBSD.org
Subject:   Re: panic: ffs_reallocblk: start == end
Message-ID:  <20071116.030632.74719570.Tor.Egge@cvsup.no.freebsd.org>
In-Reply-To: <473CC522.5080904@FreeBSD.org>
References:  <473B9A43.5060401@FreeBSD.org> <473CC522.5080904@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
> Another one of these on a different machine.  Looks like something is 
> definitely broken.

Assuming that start_lvl is zero, this looks like a broken DIAGNOSTIC
check that recently became a broken INVARIANTS check.

This happens when the block range spans two block maps, the first in the inode
(mapping up to NDADDR direct blocks) and the second being the first indirect
block.  The current check assumes that both block maps are indirect blocks.

Try changing the check to something like

#ifdef INVARIANTS
		if (start_lvl > 0 &&
		    start_ap[start_lvl - 1].in_lbn == idp->in_lbn)
			panic("ffs_reallocblk: start == end");
#endif


- Tor Egge



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20071116.030632.74719570.Tor.Egge>