[stgt] PATCH: Make the check for LBA out of range for READ*/WRITE* better

FUJITA Tomonori fujita.tomonori at lab.ntt.co.jp
Sun Jun 3 14:53:27 CEST 2012


On Sun, 3 Jun 2012 13:04:56 +1000
ronnie sahlberg <ronniesahlberg at gmail.com> wrote:

> On Sun, Jun 3, 2012 at 12:14 PM, FUJITA Tomonori
> <fujita.tomonori at lab.ntt.co.jp> wrote:
>> On Sun, 3 Jun 2012 10:29:10 +1000
>> ronnie sahlberg <ronniesahlberg at gmail.com> wrote:
>>
>>> Please find attached a patch that fixes the range check for
>>> read*/write* where the transfer length is 0 blocks.
>>> For these commands, we still need to check the LBA that it is within a
>>> valid range eventhough no actual data is transferred.
>>
>> The spec needs that?
> 
> I think it does :
> 
>>From READ10:
> =============
> 
> The TRANSFER LENGTH field specifies the number of contiguous logical
> blocks of data that shall be read and
> transferred to the Data-In Buffer, starting with the logical block
> specified by the LOGICAL BLOCK ADDRESS field.
> A TRANSFER LENGTH field set to zero specifies that no logical blocks
> shall be read. This condition shall not be
> considered an error. Any other value specifies the number of logical
> blocks that shall be read. If the LBA plus
> the transfer length exceeds the capacity of the medium, then the
> device server shall terminate the command
> with CHECK CONDITION status with the sense key set to ILLEGAL REQUEST
> and the additional sense code
> set to LOGICAL BLOCK ADDRESS OUT OF RANGE.

Thanks, I've applied the patch with the above description.
--
To unsubscribe from this list: send the line "unsubscribe stgt" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html



More information about the stgt mailing list