Re: [PATCH 1/4] scsi: libsas: Add sas_execute_internal_abort_single()

Hannes Reinecke
2022-04-25T08:34:14Z

On 4/25/22 10:27, John Garry wrote:
> On 20/04/2022 13:21, Hannes Reinecke wrote:
>>>   int sas_execute_tmf(struct domain_device *device, void *parameter,
>>>               int para_len, int force_phy_id,
>>>               struct sas_tmf_task *tmf)
>>> diff --git a/include/scsi/libsas.h b/include/scsi/libsas.h
>>> index df2c8fc43429..2d30d57916e5 100644
>>> --- a/include/scsi/libsas.h
>>> +++ b/include/scsi/libsas.h
>>> @@ -557,6 +557,16 @@ struct sas_ata_task {
>>>       int    force_phy_id;
>>>   };
>>> +/* LLDDs rely on these values */
>>> +enum sas_internal_abort {
>>> +    SAS_INTERNAL_ABORT_SINGLE    = 0,
>>> +};
>>> +
>>
>> Why don't you use the existing TMF_XXX values here?
>> Your 'single' method pretty much _is_ a TMF_ABORT_TASK, and the
>> 'device' method _is_ a TMF_ABORT_TASK_SET, no?
>
> Sure, they are doing the same as TMFs and there is equivalence in the
> 'single' and 'device' methods, as you say.
>
> However, as mentioned in the comment, the LLDDs rely on the values in
> enum sas_internal_abort, which do not match the values in
> TMF_ABORT{_TASK, _TASK_SET}.
>
How can they rely on a value which you just introduced?

Cheers,

Hannes
--
Dr. Hannes Reinecke Kernel Storage Architect
hare@suse.de +49 911 74053 688
SUSE Software Solutions Germany GmbH, Maxfeldstr. 5, 90409 Nürnberg
HRB 36809 (AG Nürnberg), GF: Felix Imendörffer