> It's not about mechanical movement of the tray, but about tricking
> /usr/sbin/vold to reread and remount the media. In more details. First
> note that once vold is running you can't open /dev/rdsk/cXtYdZs2 (Oh! I
> failed to mention that "volumized" cdrecord does not expect /dev/scg* to
> be present). So patched cdrecord finds its way to
> /vol/dev/rdsk/cXtYdZ/unknown_format instead. This in turn means that
> everything cdrecord throws at it passes Volume Management kernel driver
> (hereafter "the V-driver") which is free to do certain magic. Now
> 'cdrecord -eject/load' uses USCSI ioctls to open/clode tray which are
> passed through verbatim. 'eject cdrom' in turn uses DKIOCEJECT ioctl
> which also makes the V-driver throw an exception at vold which triggers
> it to do certain magic in the user-land. You may ask why not make
> cdrecord issue DKIOCEJECT to eject and then USCSI to load? Well, the
> problem is that once DKIOCEJECT passes the V-driver it (so to say)
> interrupts all communications and awaits for further instructions from
> vold, meaning that the "load" USCSI never gets through and you find
> yourself in "catch-22" situation...

Sun should provide a "close tray" command for vold.

But yeah I see your point.  vold does work rather nicely on solaris in
general and disabling it would be unfortunate.  Better to get it to work
nicely with cdrecord.

Len Sorensen


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to