Subject: NFS unmount quirks
To: None <tech-kern@NetBSD.ORG>
From: Paul Kranenburg <pk@cs.few.eur.nl>
List: tech-kern
Date: 06/14/1996 11:51:40
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.
Thoughts?
-pk