Re: "Fix ATAPI transfer lengths" causes CD writing regression

Jeff Garzik
2007-11-02T17:58:36Z

Daniel Drake wrote:
> Again, ignore me if I'm not contributing anything useful, but I'm
> increasingly thinking that the SG_IO command block in question is
> perfectly valid, and doing a short read of the mode page in question
> (and probably others too) is in fact required before you can know its
> true size to do a full read anyway.

Correct -- I do not see anything wrong with the SCSI command being
passed to the device.

It is quite normal to request an allocation length less than the amount
of data to be returned -- often this is even a requirement, in order for
the SCSI client to see how much data buffer is must allocate for the
returned data.

This technique is used all over SCSI, both in userland and in the
kernel. Nothing wrong with the test app AFAICS.

This behavior can be adequated summarized as a drive firmware bug, where
the device will puke when both SCSI allocation length and ATA byte count
limit are below the amount of data it wishes to return.

At this point I think we're interested to see the output from Tejun's
debugging patch, posted in this thread.

Jeff