Re: [PATCH] cowlinks v2

Ross Biro
2004-04-03T03:55:17Z

On Sat, 3 Apr 2004 02:59:20 +0100, Jamie Lokier <jamie@shareable.org> wrote:
>
> Erik Andersen wrote:
> > > Here's a tricky situation:
> > >
> > > 1. A file is cowlinked. Then each cowlink is mmap()'d, one per process.
> > >
> > > 2. At this point both mappings share the same pages in RAM.
> > >
> > > 3. Then one of the cowlinks is written to...
> >
> > Using mmap with PROT_WRITE on a cowlink must preemptively
> > break the link.
>
> I forget to mention, they are PROT_READ shared mappings.

Or just also make the page cow and not break the link until someone
actually writes to it. Really depends on how you view the performance
impact, whether you do cow at the block of inode level, and how much
you want to touch (or copy parts of) the mm.