mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Miquel van Smoorenburg <miquels@cistron.nl>
To: Peter Zijlstra <peterz@infradead.org>
Cc: linux-kernel@vger.kernel.org, Chris Mason <chris.mason@oracle.com>
Subject: Re: MAP_PRIVATE that stays private even on external write
Date: Tue, 02 Dec 2008 15:34:12 +0100	[thread overview]
Message-ID: <1228228452.24000.118.camel@n2o.xs4all.nl> (raw)
In-Reply-To: <1228213651.7133.12.camel@twins>

On Tue, 2008-12-02 at 11:27 +0100, Peter Zijlstra wrote:
> On Tue, 2008-12-02 at 10:06 +0000, Miquel van Smoorenburg wrote:
> > What I am looking for is a MAP_PRIVATE type flag that, when another
> > process modifies pages of the file (through mmap() or write())
> > makes sure that my mapping never sees that.
> > 
> > There has been talk of a MAP_SNAPSHOT flag before, e.g.
> > http://lkml.indiana.edu/hypermail/linux/kernel/0407.1/0416.htm
> > 
> > Has anyone ever looked at implementing something like this ?
> 
> I suppose that needs a snapshot filesystem for backing, and we don't
> have such a creature (yet). I suppose BTRFS might be able to pull that
> off.

That is a different way of looking at it. Interesting.

It won't help me though, as the "file" I was talking about is in
fact /dev/sdb .

But the current MAP_PRIVATE doesn't need a versioning filesystem either.
It's just that if you write to the mapping, that never gets visible in
other mappings of the same file, nor in the file itself.

I'd like to see something like that, but the other way around. If the
file is modified through a different mapping or write(), modifications
show up in the file and other shared mappings but not in my private
mapping. A copy-on-write, but slightly different in what is copied.

Since MAP_PRIVATE|MAP_POPULATE appears to do this, I thought that
perhaps there is enough infrastructure to do something similar without
MAP_POPULATE, but I really don't know enough of mm/* .

Mike.


  reply	other threads:[~2008-12-02 14:34 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-02 10:06 Miquel van Smoorenburg
2008-12-02 10:27 ` Peter Zijlstra
2008-12-02 14:34   ` Miquel van Smoorenburg [this message]
2008-12-02 15:02     ` Peter Zijlstra

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1228228452.24000.118.camel@n2o.xs4all.nl \
    --to=miquels@cistron.nl \
    --cc=chris.mason@oracle.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=peterz@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®