Skip to contentSkip to conversation

scsi_debug: GET LBA STATUS response length correction

PATCH In review Douglas Gilbert 2 participants 2 messages Jan 20, 2012 – Jan 24, 2012 SCSI

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 scsi_debug: GET LBA STATUS response length correction

The SCSI GET LBA STATUS command was introduced in SBC-3 revision 20 in September 2009. At that time the Parameter Data Length field in the response had an associated byte offset of 8.

Then in SBC-3 revision 25 (October 2010) that byte offset was changed to 4. The sg_get_lba_status utility in sg3_utils version 1.33 (released earlier today) has been changed to calculate the newer response length. However the implementation of GET LBA STATUS command in the scsi_debug driver still uses the original byte offset.

Changelog:
- modify the Parameter Data Length field value in the GET LBA STATUS command response to comply with the change in SBC-3 revision 25

Doug Gilbert

drivers/scsi/scsi_debug.c +1 -1
index 6888b2c..d2fd0ef 100644
@@ -2220,7 +2220,7 @@ static int resp_get_lba_status(struct scsi_cmnd * scmd,
 	mapped = map_state(lba, &num);
 
 	memset(arr, 0, SDEBUG_GET_LBA_STATUS_LEN);
-	put_unaligned_be32(16, &arr[0]);	/* Parameter Data Length */
+	put_unaligned_be32(20, &arr[0]);	/* Parameter Data Length */
 	put_unaligned_be64(lba, &arr[8]);	/* LBA */
 	put_unaligned_be32(num, &arr[16]);	/* Number of blocks */
 	arr[20] = !mapped;			/* mapped = 0, unmapped = 1 */
Acked-by on v1 1/1
#1 lore raw
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Doug" == Douglas Gilbert <[email protected]> writes:

Doug> The SCSI GET LBA STATUS command was introduced in SBC-3 revision Doug> 20 in September 2009. At that time the Parameter Data Length field Doug> in the response had an associated byte offset of 8.

Doug> Then in SBC-3 revision 25 (October 2010) that byte offset was Doug> changed to 4. The sg_get_lba_status utility in sg3_utils version Doug> 1.33 (released earlier today) has been changed to calculate Doug> the newer response length. However the implementation of GET LBA Doug> STATUS command in the scsi_debug driver still uses the original Doug> byte offset.

Signature · 1 line
Martin K. Petersen	Oracle Linux Engineering