On Thu, 6 Nov 2014, Boaz Harrosh wrote:
> On 11/06/2014 05:54 PM, James Bottomley wrote:
> >
> > We don't have a failure. This is the problem. Determining that a
> > problem exists
> >
>
> OK Sorry. I assumed the bridge is smart enough to do nothing,
>
> ie READ_CAPACITY_10 is passed as is via sata to the device that
> actually supports READ_CAPACITY_16, as I understand then the
> actual good drive is not suppose to send size-modulue-2G in
> response to READ_CAPACITY_10. Should it ?
The bridge does not send SCSI commands to the drive; it sends ATA
commands.
When the bridge receives a READ CAPACITY(10) command from the host
computer, if the drive's actual capacity is >= 2^32 blocks then the
bridge is supposed to send back a result buffer containing 0xffffffff.
Not the actual capacity modulo 2^32.
> Then the bridge just sends that back to me, now if I send
> READ_CAPACITY_16 the bridge will return NOT-SUPPORTED because
> it is unexpected.
Yes.
> But what are you saying that the bridge was smart enough to
> do READ_CAPACITY_16 get a 64bit value from the drive and then
> return the lower 32bit to me ? Really ? I would not imagine
> in the life of me someone so dumb. And surly it is against
> any spec.
The bridge does not send READ CAPACITY(16) to the drive. It sends an
ATA command -- and it probably sends the same command for READ
CAPACITY(10).
> Are you sure ? I think you are wrong I think the guy reported
> that he can only see 2T out of his 3T drive which means the
> bridge returned 0xffffffff, exactly 2T
We are sure. Dale reported that the size he got was less than 2 TB,
and it was equal to the actual capacity modulo 2^32. You can check for
yourself; here's the original email:
http://marc.info/?l=linux-scsi&m=140908235510961&w=2
Alan Stern
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html