I see two possible problems that should be first resolved.Appears to be true, but that's not a kernel problem, it's a hald problem, the fix belongs there.
1) You are using "wodim" instead of cdrecord.
"wodim" is a very old version (4+ years) of cdrecord with
additional bugs. Due to Copyright & GPL violations, it cannot
even be legally distributed.
2) You may be using the linux hald version
I recommend to first get a recent original cdrtools package from
ftp://ftp.berlios.de/pub/cdrecord/alpha/
and to try with this after running "make install" as root.
As Linux requires root privileges for many SCSI commands, you need to install cdreord suid root which is automatically done via "make install"
as root.
If your problem persists, try to kill hald. Hald on Linux has many problems:
- It looks for the wrong state transitions on the CD drive and thus distrurbes CD/DVD/BD writing. It may e.g. try to mount a CD that has not yet been fully written.
- The O_EXCL metod it believes on just cannot ever work correctly:I don't quite see how these two follow from using O-EXCL, assuming the device is released after writing, but see next:
- You would not be able to read out written media CD-DA or CD-ROM
- You would not be able to deal with multi-session media
- As Linux offers to access CD/DVD/BD-drives vie more than oneAnd that is a kernel problem, allowing multiple access paths which don't share exclusion is a dubious design decision. O_EXCL really should work.
device driver and as these device drivers don't know each other
O_EXCL cannot work anyway.
If your problem still persists, you may have a Linux kernel problem.The usual solution is to tell hald and your window manager of choice not to mount things automatically, or at least not while they are opened. But that's a fudge, not a fix, O_EXCL should positively prevent this problem.
BTW: please keep me on CC:
Jörg