Subject: Re: NFS unmount quirks
To: None <tech-kern@NetBSD.ORG>
From: Robert Black <r.black@ic.ac.uk>
List: tech-kern
Date: 06/14/1996 11:55:24
On Jun 14, 11:51am, Paul Kranenburg wrote:
> Subject: NFS unmount quirks
> When forcefully unmounting an NFS filesystem, you run the risk of generating
> NFS operations on directories whose vnodes have already been processed by
> vgone(). This situation arises if there are pending removes ("silly renames")
> and the vnode they're attached to are flushed after the parent directory.
>
> An easy work around would be to insert a `dvp->v_mount == NULL' test in
> nfs_removeit() and skip the NFS remove request of the silly file. This
> means ofcourse that the silly name will not be removed automatically.
>
> Something more involved would be to postpone ripping apart vnodes until
> all of them have had a chance to do things that require the filesystem
> to be "intact". For example, this can be achieved by having vflush()
> make two passes over a filesystem's vnodes, applying FORCECLOSE only
> on the second pass.
Hmm, I guess thats a fairly sane way to do it - just so long as there is no way
that things can cascade (I can't think of any way of generating a cascade
offhand).
Cheers
Rob Black
--