Re: [PATCH] SCSI: export sas_hash_addr()

Jeff Garzik
2007-09-30T17:51:57Z

Jeff Garzik wrote:
> James Bottomley wrote:
>> On Thu, 2007-09-27 at 21:01 -0400, Jeff Garzik wrote:
>>> James Bottomley wrote:
>>>> On Wed, 2007-09-26 at 03:35 -0400, Jeff Garzik wrote:
>>>>> sas_hash_addr() is the spec-defined standard hashing function.
>>>>> Make it
>>>>> available to drivers that need it.
>>>> I'm not opposed in principle to exporting this, but I have a hard time
>>>> understanding why a driver would need it.
>>>>
>>>> The hashed address is a property of the constructed SAS frames,
>>>> which is
>>>> done in libsas. The driver shouldn't really be calculating its own
>>>> hash
>>>> instead of using what libsas provides ... or is this because the hashed
>>>> self address isn't calculated by the HBA so it needs to be
>>>> programmed or
>>>> something?
>>> It is needed to build the SSP frame header.
>>>
>>> If there is common code that does that, I will definitely use that,
>>> but do not see any such code.
>>
>> The way you're supposed to build the frame header is in
>> lldd_execute_task(). Here, if you need the hashed address of the
>> destination, you copy it out of the domain_device (dev field of struct
>> sas_task).
>
> That's the destination. I need it for the source.

Nevermind, I found it elsewhere. You can drop this patch.

Jeff