* Poul-Henning Kamp <[EMAIL PROTECTED]> [010417 10:56] wrote:
> In message <[EMAIL PROTECTED]>, 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 ?
I thought vnodes were in stable storage?
Note that I really don't care for using stable storeage as a hack
to deal with this sort of thing.
--
-Alfred Perlstein - [[EMAIL PROTECTED]|[EMAIL PROTECTED]]
Represent yourself, show up at BABUG http://www.babug.org/
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message