[Debburn-devel] Re: broken device locking,
sg vs. sg_io on block devices
Eduard Bloch
edi at gmx.de
Wed Apr 11 10:12:45 UTC 2007
#include <hallo.h>
* Eduard Bloch [Sat, Apr 07 2007, 01:21:31PM]:
> Can we do following without having side effects:
>
> open("/dev/sr0",O_EXCL|O_RDWR); /* no matter what it returns */
> fcntl(..., F_SETLK); /* no matter what it returns */
> ioctl(f, SCSI_IOCTL_GET_IDLUN, &x);
> ioctl(f, SCSI_IOCTL_GET_BUS_NUMBER, &jo);
>
> Can you guarantee us that bit?
>
> Or shall we really implement ugly workarounds to avoid every open call?
> Note that "just do like UUCP guys" is not as easy or reliable as people
> may pretend.
Excuse me, but is there ANYBODY willing to give a binding statement on
that? First you tell "us CD writing guys" to manage that in user space
[1] and when we get real critical questions then everything we get is
radio silence? Very kindly. NOT.
Background: there are two good ways we can go:
a) carefully collecting device properties, mapping and opening
additional devices
b) additional lockfiles delegating the locking operations
Unfortunately b leads to major problems in practice, while a looks
more promising but need a guarantee that it will be kept be working and
harmless in the future kernel releases. We need to know that before
moving on to missionary work.
Regards,
Eduard.
[1] which IMO still sucks because it's allowed to have device driver
access from any file, thus dealing locking problems at file level is
like fighting a hydra. And with multiple semi-autonomous drivers for the
same hardware even the previous silver bullet (O_EXCL) does not help.
--
Ich bin bereit überall hinzugehen, wenn es nur vorwärts ist.
-- David Livingstone
More information about the Debburn-devel
mailing list