>>>>> "Ashish" == Ashish Sood <[EMAIL PROTECTED]> 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 [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to