Messages in this thread | | | Date | Wed, 2 Apr 2003 11:30:50 +0200 | From | Jakob Oestergaard <> | Subject | Re: mmap-related questions |
| |
On Tue, Apr 01, 2003 at 07:18:40PM -0800, Kenny Simpson wrote: > --- Benjamin LaHaise <bcrl@redhat.com> wrote: > > the act of unmapping them transfers the > > dirty bit from the page > > tables into the page cache where fsync() acts on > > them. > > > Should this info be included with Mel Gorman's > excellent doc: > http://www.csn.ul.ie/~mel/projects/vm/guide/html/understand/node31.html#SECTION009411000000000000000 > Or is it there, but I missed it? > > > The > > one case this breaks down > > on is when the mmap()'d file is on NFS -- the > > reordering there can result in > > writebacks from mmap()s occuring in unexpected ways. > I sometimes wish mmap was not supported on NFS, or at > least require a special MAP_NFS flag be used. It has > caused lots of pain over the years.
Could someone elaborate on this please?
If my client does big_map = mmap(... some file ...) 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?
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 ?
Thanks,
-- ................................................................ : jakob@unthought.net : And I see the elder races, : :.........................: putrid forms of man : : Jakob Østergaard : See him rise and claim the earth, : : OZ9ABN : his downfall is at hand. : :.........................:............{Konkhra}...............: - 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/
| |