On Mon, Oct 16, 2000 at 09:06:47PM +0200, Marcus Brinkmann wrote:
> I think libstoreio and devprobe should close the device. Thanks for
> reporting this, I will look into it (I think with what you said, the fix is
> pretty straight forward, but I want to test anyway).
ok, for devprobe this is pretty easy, but for libstore not so.
The problem is that the responsibility is not entirely clear to me.
isofs does use storeio on /dev/hd3, so for CD changes to work, clearing the
active isofs translator should free the device. This means, a close on an
open_hook in storeio should set the INACTIVE flag in the store if it is the
last one. Also, the right thing has to be done when the translator should go
away, and this even if nosync is true.
That's a bit involved, so it needs some careful combing of the relevant
sources, so we don't break something else. There are several locations
involved:
libstore/make.c (store_free):
which calls store->class->cleanup, which probably needs to inactivate
the device.
libstore/device.c (dclose):
which needs to call device_close (that's easy).
storeio/storeio.c (close_hook) (or storeio/open.c (open_free))
inactivate the device, but only if it is the last user.
and what about other users of storeio?
Mmmh.
Thanks,
Marcus
--
`Rhubarb is no Egyptian god.' Debian http://www.debian.org Check Key server
Marcus Brinkmann GNU http://www.gnu.org for public PGP Key
[EMAIL PROTECTED], [EMAIL PROTECTED] PGP Key ID 36E7CD09
http://homepage.ruhr-uni-bochum.de/Marcus.Brinkmann/ [EMAIL PROTECTED]
_______________________________________________
Bug-hurd mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-hurd