broken device locking, sg vs. sg_io on block devices

From: Eduard Bloch
Date: Fri Mar 30 2007 - 07:31:56 EST


Hello,

I am talking this issue to LKML now.

Short story: using O_EXCL on /dev/srX alone does not help to prevent
other process from killing your burn process by just reading the
/dev/sgX device associated with yours, and vice versa. We have done the
best we could to make safe operation (in contrary to Schilling's
kill-this-evil-hald-thing bitching) but that is not enough, the locking
has to be established on kernel layer.

Long story:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=413960
https://bugzilla.novell.com/show_bug.cgi?id=226019
http://lists.alioth.debian.org/pipermail/debburn-devel/2007-February/000297.html
and other error messages.

There is AFAICS no simple way to establish locking across the driver
borders. If kernel developers have a good idea, any help is appreciated.

Below are the typical symptoms: wodim operates via /dev/sgX because the
user chosen it this way, some other process (most likely hald) comes
along and reads from /dev/sr0 and the drive gets confused. Boom.

Regards,
Eduard.

* Gerald Lutter [Mon, Mar 26 2007, 06:10:44PM]:
> Hello List,
>
> i've tried to burn the grml_0.9.iso to a cdr/cd-rw medium using wodim from
> cdrkit 1.1.2 and the burner HL-DT-ST GMA-4082N. The iso can be fetched
> >from "http://www.grml.org";.
>
> To make a long story short, burning this image to dvd+r and dvd+rw media works
> without any problems but I need this image on a cdr or cd-rw medium. I've
> attatched the output of the command I used to this mail:
>
> /usr/bin/wodim -vvv -VVV gracetime=2 dev=2,0,0 speed=10
^^^^^^^^^
> driveropts=burnfree -eject -overburn -data /tmp/grml_0.9.iso
...
>
Track 01: 0 of 692 MB written.
> write track data: error after 317440 bytes
...
> Sense Key: 0x2 Not Ready, Segment 0
> Sense Code: 0x04 Qual 0x08 (logical unit not ready, long write in progress) Fru 0x0
> Sense flags: Blk 0 (not valid)


--
* Amaya knuddelt Ganneff because of his email to private :*
<Ganneff> ich wusst doch dass die irgendwo was schlechtes nach sich zieht.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/