[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: oskit-mach/libstore breakage

From: Roland McGrath
Subject: Re: oskit-mach/libstore breakage
Date: Tue, 5 Mar 2002 16:17:02 -0500 (EST)

> libstore uses device_map with size and offset being null.  

Urmph.  To my mind, this just illustrates that the current io_map interface
model is really wrong and that an io_map call that takes offset and size
parameters is the way to go (as is already my plan for large-file mapping).

> I am not sure if oskit-mach should allow such bogus mappings, or libstore
> should try harder to provide proper values.

Arguably, oskit-mach ought to behave consistent with how gnumach behaves on
these things.  I think that is the most practical thing to do.  In this
case, there is really no possible harm because the 0,0 call is never useful
for anything else.  So I think we should change oskit-mach so that 0,0
means "the whole thing".  I just put that change into ds_mem.c, and I'm not
sure there are other device_map uses that have ever worked in gnumach.

However, in this particular case, libstore knows very well what the size is
and might as well supply it.  Since (as the libstore/device.c comment says)
gnumach ignores the argument anyway, it certainly shouldn't hurt to supply
a good one.  For device that don't report their size, the values in the
store will show size zero and so 0,0 is what would be passed anyway.
So I made that change too.  

Please test both those changes (e.g. rebuild oskit-mach first and test that
it dtrt thing with the old libstore, and then try the new libstore on both
old and new kernels, and gnumach).

> Note that a failure in maptime (when mapping from /dev/time) causes all
> filesystems except the root filesystem to refuse to start, and probably
> some other failures.

I hope these failures are at least easy to identify.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]