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

From: John Garry
Date: Mon Apr 25 2022 - 04:28:18 EST

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 {

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}.