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>