Hi.
It turns out that I'd overlooked relevant sections in the documentation
("Linux Notes" in Chapter 4) and there is (or at least was) a way to use ATAPI
interface. Still it doesn't work for me, and
(thanks to Joerg pointing that out to us) it can be seen as a minor bug
in wodim --- because it says, albeit in somewhat nondeterminate language,
in its manpage wodim (1) that
====
To access SCSI devices via alternate transport layers, you need to
prepend the SCSI device name by a transport layer indicator. The
transport layer indicator may be something like USCSI: or ATAPI:.
====
However, there is nothing about SCSI at all in
/usr/share/doc/wodim/README.ATAPI.setup, the fact which led me to
the erroneous impression that there is no way to configure Cedar Backup
to use ATAPI recorder interface.
Consider the following as well: if there is more than one recorders on the
system, it's perfectly clear which one you're referring to when you pass
dev=/dev/cdrw where /dev/cdrw points to correct recorder device,
rather than mysterious dev=ATAPI:0,1,0 for example.
The first way makes much more sense.
> I'm open to allowing other ways to specify the writer device.
> However, I am not completely convinced (yet) that the right way to
> solve the problem is to make the SCSI id optional. I may instead
> provide some other way to flag the condition. Let me give it some
> thought and do some testing on my own.
>
> What kernel are you using -- a stock Debian one, or one you built
> yourself? If it's a stock Debian 2.6 kernel, that's great, because I
> should be able to reproduce your situation and do direct testing.
I use a custom-built kernel. Tell me if you want the complete config
for it or just relevant options and I'll send it to you.
> Incidentally, the regression tests are likely failing now because
> you've caused a fundamental assumption to be broken, i.e. that every
> configuration has a SCSI device associated with it. Any changes like
> this ripple through the regression test suite, which is exactly what I
> want to happen. :)
I also had broken the code --- if you set scsi_id tag it'll fail.
I'm just not accustomed to interpreted languages. The following
additional patch should make it work the way it did when the tag is present
(though I didn't test it),
and it reduces the number of failed unittests to only about a dozen.
Index: config.py
===================================================================
--- config.py (revision 1011)
+++ config.py (working copy)
@@ -2743,7 +2743,7 @@
if value is None:
self._deviceScsiId = None
else:
- self._deviceScsiId = validateScsiId(value)
+ self._deviceScsiId = validateScsiId(value, None)
def _getDeviceScsiId(self):
"""
Index: image.py
===================================================================
--- image.py (revision 1011)
+++ image.py (working copy)
@@ -200,7 +200,7 @@
if os.path.isabs(value):
self._device = value
else:
- self._device = validateScsiId(value)
+ self._device = validateScsiId(value, None)
except ValueError:
raise ValueError("Device must either be an absolute path or a valid
SCSI id.")
Of course, it's only a temporary fix.
--
--- Dmitry Rutsky
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]