http://bugzilla.novell.com/show_bug.cgi?id=552451
User joerg.schilling@fokus.fraunhofer.de added comment
http://bugzilla.novell.com/show_bug.cgi?id=552451#c2
--- Comment #2 from Jörg Schiling 2009-11-04 09:33:46 MST ---
Something that cannot work correctly under any circumstances
cannot be called a behavior that might do helpful work in some
cases.
The fact that the main hald problem does not apply to Solaris
shows nicely that replacing the broken behavior of the Linux
media change test code by correctly working code fixes the
most obvious problems with hald.
There is no simple and direct interface in a CD-ROM drive
that flags a media change and it seems that the author of
the test code for hald in Linux does not have the needed
skills on SCSI to implement a correctly working solution.
You indeed need to send repeated SCSI commands to the drive
but you need to evaluate the return data correctly. This is
not done by hald on Linux and as a result, hald interrupts
the CD writing process because hald "believes" that a media change
happened while cdrecord is just writing to the medium.
On Solaris, hald does not use the built in test code but rather
calls an ioctl from the sd driver in the kernel that does the
actual work and the code from the Solaris kernel driver
works correctly.
Note that fixing the media change detection code will not
fix all problems with hald that affect writing optical media,
so please read the other text from my original report.
One big problem on Linux is that you cannot rely on /dev/
based path names to drivers as there is more than one driver for
the same drive, so the only reliable way to specify a specific
drive seems to be the SCSI address syntax used by libscg from cdrtools.
The other problem is that there is no UNIX compatible
documentation on how to talk to hald. If cdrecord likes to
implement reliable multi-session features, it needs (amongst
others) to be able to enforce an unmount of the current
medium (see the original bug report).
--
Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.