Date: Mon, 04 Feb 2002 15:56:45 +0000 From: Mark Murray <mark@grondar.za> To: Bruce Evans <bde@zeta.org.au> Cc: John Polstra <jdp@polstra.com>, current@FreeBSD.ORG, markm@FreeBSD.ORG Subject: Re: Panics in ffs_clusteracct with todays -current Message-ID: <200202041556.g14FuoE54487@greenpeace.grondar.org> In-Reply-To: <20020205000829.A22758-100000@gamplex.bde.org> ; from Bruce Evans <bde@zeta.org.au> "Tue, 05 Feb 2002 00:28:43 %2B1100." References: <20020205000829.A22758-100000@gamplex.bde.org>
next in thread | previous in thread | raw e-mail | index | archive | help
If this fixes a problem, then please go ahead and commit it. :-) M > On Sun, 3 Feb 2002, John Polstra wrote: > > > The kernel from today's current (CVSupped 3 Feb 2002 around 17:40 > > PST) can't stay up for more than a few minutes without getting a > > page-not-present panic at line 1815 of ufs/ffs/ffs_alloc.c revision > > 1.86. It is in this code: > > > > /* > > * Find the size of the cluster going backward. > > */ > > start = blkno - 1; > > end = start - fs->fs_contigsumsize; > > if (end < 0) > > end = -1; > > mapp = &freemapp[start / NBBY]; > > map = *mapp--; > > ^^^^^ > > BANG! > > This was broken by a recent change to the type of NBBY. > > `start' is apparently negative (it would be for blkno == 0). Small > negative values of `start' used to give an index of 0 in freemapp (not > even small negative, since integer division bogusly rounds negative > values towards 0). They now give an index of about 0x1fffffff on > 32-bit machines. > > I also got panics in vm. The vm code apparently trapped while trying > to map the preposterous address generated by the above. > > This patch just backs out the change to NBBY. > > %%% > Index: types.h > =================================================================== > RCS file: /home/ncvs/src/sys/sys/types.h,v > retrieving revision 1.50 > diff -u -2 -r1.50 types.h > --- types.h 3 Feb 2002 11:36:59 -0000 1.50 > +++ types.h 4 Feb 2002 13:08:05 -0000 > @@ -172,5 +172,5 @@ > > #ifndef _POSIX_SOURCE > -#define NBBY 8U /* number of bits in a byte */ > +#define NBBY 8 /* number of bits in a byte */ > > /* > %%% > > Bruce > -- o Mark Murray \_ FreeBSD Services Limited O.\_ Warning: this .sig is umop ap!sdn To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200202041556.g14FuoE54487>