From: Benjamin LaHaise <bcrl@redhat.com>
To: Jakob Oestergaard <jakob@unthought.net>,
Kenny Simpson <theonetruekenny@yahoo.com>,
linux-kernel@vger.kernel.org
Subject: Re: mmap-related questions
Date: Wed, 2 Apr 2003 10:10:06 -0500 [thread overview]
Message-ID: <20030402101006.A30582@redhat.com> (raw)
In-Reply-To: <20030402093049.GB17859@unthought.net>; from jakob@unthought.net on Wed, Apr 02, 2003 at 11:30:50AM +0200
On Wed, Apr 02, 2003 at 11:30:50AM +0200, Jakob Oestergaard wrote:
> make_dirty(big_map)
> msync(first half of big_map)
> msync(second half of big_map) { crash during this }
>
> Then I am guaranteed that (unless the server crashes), the first half of
> big_map *will* have reached the server, but not that all of the second
> half has. Right?
Assuming you used MS_SYNC for the msync() flags. MS_ASYNC could still be
proceeding to flush the pages out in the background. And the kernel may
have triggered writeback of the second half -- it is free to do so as it
sees fit.
> Like any local-disk backed file.
>
> Ignoring the case where the NFS *server* crashes, where could the write
> ordering differ, compared to local disk files ?
> In other words, what does Benjamin's "unexpected ways" refer to ?
All local clients will see the mmap() being updated from the time it is
dirtied, but there is no ordering of write()s with respect to the mmap
unless you explicitely msync(..MS_SYNC..) as in your example.
-ben
--
Junk email? <a href="mailto:aart@kvack.org">aart@kvack.org</a>
next prev parent reply other threads:[~2003-04-02 14:58 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-03-31 14:41 mmap-related questions Kenny Simpson
2003-03-31 17:55 ` Benjamin LaHaise
2003-04-01 3:25 ` Kenny Simpson
2003-04-01 17:50 ` Benjamin LaHaise
2003-04-02 3:18 ` Kenny Simpson
2003-04-02 9:30 ` Jakob Oestergaard
2003-04-02 15:10 ` Benjamin LaHaise [this message]
2003-04-02 23:43 ` Jakob Oestergaard
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=20030402101006.A30582@redhat.com \
--to=bcrl@redhat.com \
--cc=jakob@unthought.net \
--cc=linux-kernel@vger.kernel.org \
--cc=theonetruekenny@yahoo.com \
/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