Date: Tue, 17 Apr 2001 19:55:01 +0200 From: Poul-Henning Kamp <phk@critter.freebsd.dk> To: Matt Dillon <dillon@earth.backplane.com> Cc: Kirk McKusick <mckusick@mckusick.com>, Julian Elischer <julian@elischer.org>, Rik van Riel <riel@conectiva.com.br>, freebsd-hackers@FreeBSD.ORG, David Xu <bsddiy@21cn.com> Subject: Re: vm balance Message-ID: <24891.987530101@critter> In-Reply-To: Your message of "Tue, 17 Apr 2001 10:45:02 PDT." <200104171745.f3HHj2K95255@earth.backplane.com>
next in thread | previous in thread | raw e-mail | index | archive | help
In message <200104171745.f3HHj2K95255@earth.backplane.com>, Matt Dillon writes:
>:> I don't think NFS relies on vnodes never being freed.
>:
>:It does, in some case nfs stashes a vnode pointer and the v_id
>:value away, and some time later tries to use that pair to try to
>:refind the vnode again. If you free vnodes, it will still think
>:the pointer is a vnode and if junk happens to be right it will
>:think it is still a vnode. QED: Bad things (TM) will happen.
>:
>:# cd /sys/nfs
>:# grep v_id *
>:nfs_nqlease.c: vpid = vp->v_id;
>:nfs_nqlease.c: if (vpid == vp->v_id) {
>:nfs_nqlease.c: if (vpid == vp->v_id &&
>:nfs_vnops.c: vpid = newvp->v_id;
>:nfs_vnops.c: if (vpid == newvp->v_id) {
>:
>:--
>:Poul-Henning Kamp | UNIX since Zilog Zeus 3.20
>
> hahahahahahahaha.. Look at the code more closely. v_id is not
> managed by NFS, it's managed by vfs_cache.c. There's a big XXX
> comment just before cache_purge() that explains it. Believe me,
> NFS is the least of your worries here.
Matt, you try to free vnodes back to the malloc pool and you will
see what happens OK ?
--
Poul-Henning Kamp | UNIX since Zilog Zeus 3.20
phk@FreeBSD.ORG | TCP/IP since RFC 956
FreeBSD committer | BSD since 4.3-tahoe
Never attribute to malice what can adequately be explained by incompetence.
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?24891.987530101>
