Subject: Re: mp->mnt_vnodelist change
To: Thor Lancelot Simon <firstname.lastname@example.org>
From: Bill Studenmund <email@example.com>
Date: 10/19/2006 19:50:57
Content-Type: text/plain; charset=us-ascii
On Fri, Oct 20, 2006 at 01:02:24AM +0200, Reinoud Zandijk wrote:
> Dear folks,
> attached you'll find a clean patch on -current that implements the change=
> of the LIST_* structures to TAILQ_* structures for mp->vnodelist and for=
> In the process i've also stumbled on quite dirty code that could easily b=
> rewritten. Some functions were converted to use LIST_ macros but others=
> were just accessing the pointers themselves... I also stumbled on a LFS=
> hack from the Berkly age to get LFS faster; this ancient speedup hack is=
> also undone as its not nessisary anymore. Lastly, i've replaced genfs's=
> explicit messing with syncfs's structures by a call to syncfs itself.
> Note that the patch had to add one `int' field to struct vnode to keep th=
> syncfs slot in for TAILQ_REMOVE().
I've been trying to think if there's a way to avoid this, but I can't.
The one thing I'd suggest is add the int to the end. Think about structure=
packing on an LP64 system.
> One userland program is affected, usr.sbin/pstat. AFAIK it should not bre=
> any binary compatibilities but and old `pstat -v' will now give `vnode si=
No biggie. Kernel grovelers have to stay in sync.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (NetBSD)
-----END PGP SIGNATURE-----