Re: panic: ffs_reallocblk: start == end

From: Tor Egge <Tor.Egge_at_cvsup.no.freebsd.org>
Date: Fri, 16 Nov 2007 03:06:32 +0000 (UTC)
> 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
Received on Fri Nov 16 2007 - 02:38:18 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:22 UTC