>>>>> "Ashish" == Ashish Sood <ashishsood@xxxxxxxxx> writes: Ashish> Seems like scsi_level comes in response to the inquiry Ashish> command. Ashish> I am curious to know as to how this information will be used Ashish> by scsi initiator? Most things that depend on the SCSI level aren't used directly by the initiator. They're used by the SCSI layer when preparing commands to send to the target. Take a look at scsi_add_lun() in scsi_scan.c. There are a couple of knobs that initiator drivers tend to access. Whether a device supports wide and synchronous transfers, for instance, is parallel SCSI specific and sits there for legacy reasons. HBA drivers also want to know if a target supports tagged command queuing. Ashish> Also, looks there are six different read commands Ashish> How does scsi initiator know which command to use? Is it based Ashish> on some field which comes in response to the INQUIRY command. There is a limit to how big a logical block address you can reach with each of the READ/WRITE commands. Over the years disks have grown bigger and as a result new commands have been introduced to be able to address the data them. If you look in sd.c (the SCSI disk driver) you'll see that we'll use READ(10) for LBAs below 2TB and READ(16) for LBAs above (assuming 512 byte sectors). READ(32) / WRITE(32) are slightly different and are there to support devices formatted with DIF Type 2 protection. -- Martin K. Petersen Oracle Linux Engineering - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html