[Debburn-devel] Re: broken device locking,
sg vs. sg_io on block devices
Christoph Hellwig
hch at infradead.org
Fri Mar 30 13:43:27 UTC 2007
On Fri, Mar 30, 2007 at 01:17:44PM +0200, Eduard Bloch wrote:
> 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.
You have thre problems here, and none of them are in the kernel :)
First the hardsware is broken when it can't deal with concurrent requests,
I'd try to get a refund for it. Second wodim should never ever use
/dev/sg if the sr node is available. And third HAL should stop poking
devices all the time. Then again hald is a totally lost cause and
I can only recommend to uninstall it ASAP.
More information about the Debburn-devel
mailing list