Subject: Re: UBC vs lfs and union mount
To: Geoff Wing <gcw@pobox.com>
From: Chuck Silvers <chuq@chuq.com>
List: current-users
Date: 12/06/2000 22:13:20
after thinking about it a bit, I realized that unionfs needs the same
interface change to pgo_put / VOP_PUTPAGES that LFS needs, to give the
pager more control over its cached pages.  the problem case is if a process
creates a mapping of a union file which does not yet have an upper-layer copy
and faults in some pages, and then some other process writes to the file.
since the pmap entries for the first process are of pages attached to
the lower vnode, it won't see any changes made via the newly-created
upper vnode.

so unionfs needs some way to flush out those pmap entries for the
lower vnode pages, but there's no good way for it to do that right now.
I'll be working on the interface changes needed for this over
the month or so.  in the meantime I'll try to get a change in
this weekend that will at least allow the same non-coherent mappings
that were possible before UBC.

-Chuck