lkml.org 
[lkml]   [2004]   [Apr]   [3]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateSat, 3 Apr 2004 11:09:20 +0200
FromPavel Machek <>
SubjectRe: [PATCH] cowlinks v2
Hi!

> 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.

I'm not mm guru, but... with rmap, we should be able to find all the
users of that shared memory, and unmap their pages, right?

Until copy is done, we don't do anything, because write is not allowed
to progress until copy is done. When copy is done we should unmap all
the pages that still point to "old" copy, let write progress, and make
users fault in. 
								Pavel
-- 
When do you have a heart between your knees?
[Johanka's followup: and *two* hearts?]
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:02    [from the cache]
©2003-2008