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@xxxxxxx +49 911 74053 688
SUSE Software Solutions Germany GmbH, Maxfeldstr. 5, 90409 Nürnberg
HRB 36809 (AG Nürnberg), GF: Felix Imendörffer