Re: Can a write vnop occur after close when mmap'd?
Re: Can a write vnop occur after close when mmap'd?
- Subject: Re: Can a write vnop occur after close when mmap'd?
- From: Rick Macklem <email@hidden>
- Date: Thu, 9 Jul 2009 16:20:43 -0400 (EDT)
On Thu, 9 Jul 2009, Terry Lambert wrote:
Yes.
Once a file system vends a vnode, it has to expect that VNOPs will be called
on that vnode until such time as the vnode is released back to the FS for
disposal of its associated in-core data structures.
This tends to be a pain for client file systems of Windows servers, since
traditionally Windows did has not permitted renames, removals, etc., since
they don't want to treat the vnode vend as an over-the-wire-open. I doubt
NFSv4 has the directory change issues Windows has, but being connection
oriented, it's going to have to act the same way with regard to vnode
lifecycle.
In the case of NFSv4, the Opens are Windoze-like Open Shares. Since POSIX
like clients only use Deny_none, delaying the Close Op RPC until
VNOP_INACTIVE() seems harmless and seems to work fine for FreeBSD. There
is nothing in the NFSv4 RFC to suggest that operations on directories are
affected by holding NFSv4 Opens on files "in the directory" (in quotes
because NFSv4 still makes the POSIX-like assumption that there can be
multiple hard links to a file, so it really isn't "in the directory"
except that one of its hard links is there).
Thanks a lot for the answer. Now I just have to tweak the code, rick
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-kernel mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden