Re: Page sharing: filesystem on block device

Raymond Jennings <[email protected]> Thu, 16 May 2019 08:44:43 -0700
Newsgroups gmane.os.hurd.general
Message-ID <CAGDaZ_pBeW2AhW6pK1wj+EiL07p-=3EwSAUOJ5dZ+5aXCy-QWA@mail.gmail.com>
Wait, do you mean "end user" of HURD, as opposed to the mach microkernel?

On Thu, May 16, 2019 at 8:28 AM Richard Braun <[email protected]> wrote:

> On Thu, May 16, 2019 at 07:16:59AM -0700, Raymond Jennings wrote:
> > So um...I may be totally missing the mark on this but if I have one task
> > running a file system and another task managing a block device mounted as
> > that file system, how does one manage a file in such a way that it won't
> > store data in memory redundantly that is also stored in the block device?
> >
> > Criteria that I'm guessing at:
> >
> > * The file needs to be mmap'able as well as accepting read/write requests
> > * The file is stored on the block device at locations determined by the
> > file's inode/extent tree
> > * The block device itself presumably can also be mmap'ed and accept
> > read/write requests, including to the same area of the "disk" that the
> file
> > data occupies
> > * The same data, and presumably, the same pages in memory, are being used
> > to cache both
> > * A read or write in one will reflect immediately in the other
> >
> > I must admit that I have no idea beyond the theoretical stuff gleanable
> > from the mach reference guide how this would work.
> >
> > As a thought exercise I'm trying to design my own microkernel inspired by
> > mach so I'm curious how one would prevent redundancy or inconsistency in
> > this sort of scenario.
> >
> > By contrast, I'm assuming that the file's metadata itself (extent trees,
> > directory listings, and so on) would just be read/write direct to the
> block
> > device without worrying about being "aliased" from the file itself.
> Ditto
> > if the file is accessed/mmap'ed uncompressed, but stored in a compressed
> > form on the block device.
>
> Resend to [email protected] since this list is for end user help.
>
> --
> Richard Braun
>