Subject: Re: Improving the Unix API
To: Alexander Viro <viro@math.psu.edu>
From: Jason Thorpe <thorpej@nas.nasa.gov>
List: tech-kern
Date: 06/27/1999 17:51:06
On Sun, 27 Jun 1999 20:43:28 -0400 (EDT) 
 Alexander Viro <viro@math.psu.edu> wrote:

 > Forced revoke()? But then there is mmap() and IIRC revoke() on *BSD
 > doesn't unmap the stuff. Oh, shit, there is such thing as pending
 > unlink... Does vgone() force it?

It doesn't unmap the region, but it doesn't allow any more page faults
from that backing vnode (the pager will get an error from the file system,
and thus send a SIGSEGV to the process), and no dirty pages can be cleaned
to that vnode.

I mean, you wouldn't invalidate any buffers the user read the file into
when the file was revoke()'d, would you? :-)

Regarding unlink()... those aren't operations on vnodes.  Those are
operations on the filesystem namespace, and are thus (correctly)
unaffected.

        -- Jason R. Thorpe <thorpej@nas.nasa.gov>