RE: [PATCH 2.6.13 5/14] sas-class: sas_discover.c Discover process (end devices)

Ravi Anand
2005-09-14T17:46:09Z

On Wed, Sep 14, 2005 Patrick Mansfield wrote:
>>I didn't look at raid driver code, I mean they can setup and use luns
>>however they want, as they are not following any scsi transport specs.

>>In drivers/scsi/qla2xxx/qla_iocb.c qla2x00_start_scsi(), it is swapped as
>>firmware wants le, and then the firmware has to convert it to a proper 8
>>byte LUN:

>> cmd_pkt->lun = cpu_to_le16(sp->cmd->device->lun);

>>(I'm not sure where or how they handle 8 byte LUN for qla24xx per Ravin's
email).

As I mentioned that HBA's can handle an 8 byte lun. But as far as the driver
is concerned, it does not populate all the level.

So if you look at the "struct cmd_type_7" iocb in qla_fw.h lun field is an 8 byte field.

struct cmd_type_7 {
.......
uint8_t lun[8]; /* FCP LUN (BE). */
.........
}

Here's the snippet
of the code where the driver builds iocb for ISP24XX in qla24xx_start_scsi():

/* Set LUN number*/
cmd_pkt->lun[1] = LSB(fclun->lun);
cmd_pkt->lun[2] = MSB(fclun->lun);

Hope this clarifies the confusion if any.

Ravi