Cc: Alan Cox <alan@...>, Jens Axboe <jens.axboe@...>, linux list <linux-kernel@...>, <linux-ide@...>, Tejun Heo <htejun@...>, Albert Lee <albertcc@...>
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
-