[TUHS] If not Linux, then what?
crossd at gmail.com
Tue Aug 27 11:26:27 AEST 2019
On Mon, Aug 26, 2019, 9:00 PM Arthur Krewat wrote:
> As for what mmap() doesn't do right, I started using memory mapped files
> back in the early 80s on VMS on a VAX-11/780 when I and a colleague were
> converting a database from TOPS-10 to VMS. Perhaps I am misunderstanding
> your dislike for mmap() but please, enlighten me. It was my
> understanding at the time that it was akin to swapping/virtual-memory
> using an MMU. The difference was that instead of using the main paging
> area, the kernel would use an actual file. Why would mmap() be a bad
> thing, when it's hooked into the kernel, and possibly hardware, at such
> a low point?
I don't mean to put words in Larry's mouth, but I think he meant that ZFS
bypasses the OS page cache, so that file IO and mmap use a different
buffering scheme that is not mutually consistent. So a process could mmap()
a file, write to it via a pointer indirection, and then invoke read() at a
relevant offset and (perhaps) not see the earlier write reflected; or vice
versa. It's not that mmap is a priori bad, but rather that ZFS has this
unfortunate corner case related to mmap.
- Dan C.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the TUHS