All of lore.kernel.org
 help / color / mirror / Atom feed
From: Damien Le Moal <damien.lemoal@opensource.wdc.com>
To: John Garry <john.garry@huawei.com>,
	jejb@linux.ibm.com, martin.petersen@oracle.com,
	jinpu.wang@cloud.ionos.com, damien.lemoal@wdc.com
Cc: hare@suse.de, linux-scsi@vger.kernel.org,
	linux-kernel@vger.kernel.org, linuxarm@huawei.com,
	ipylypiv@google.com, changyuanl@google.com, hch@lst.de
Subject: Re: [PATCH 1/6] scsi: libsas: Add sas_task_find_rq()
Date: Thu, 29 Sep 2022 16:56:28 +0900	[thread overview]
Message-ID: <d938ff8d-caaf-9221-e598-62e7e04aa907@opensource.wdc.com> (raw)
In-Reply-To: <1356c5b0-5cd7-b006-1b34-a66a34e23fb4@huawei.com>

On 9/29/22 16:33, John Garry wrote:
> On 29/09/2022 03:09, Damien Le Moal wrote:
>> On 9/28/22 21:27, John Garry wrote:
>>> blk-mq already provides a unique tag per request. Some libsas LLDDs - like
>>> hisi_sas - already use this tag as the unique per-IO HW tag.
>>>
>>> Add a common function to provide the request associated with a sas_task
>>> for all libsas LLDDs.
>>>
>>> Signed-off-by: John Garry <john.garry@huawei.com>
>>> ---
>>>   include/scsi/libsas.h | 22 ++++++++++++++++++++++
>>>   1 file changed, 22 insertions(+)
>>>
>>> diff --git a/include/scsi/libsas.h b/include/scsi/libsas.h
>>> index f86b56bf7833..bc51756a3317 100644
>>> --- a/include/scsi/libsas.h
>>> +++ b/include/scsi/libsas.h
>>> @@ -644,6 +644,28 @@ static inline bool sas_is_internal_abort(struct sas_task *task)
>>>   	return task->task_proto == SAS_PROTOCOL_INTERNAL_ABORT;
>>>   }
>>>   
>>> +static inline struct request *sas_task_find_rq(struct sas_task *task)
>>> +{
>>> +	struct scsi_cmnd *scmd;
>>> +
>>> +	if (!task || !task->uldd_task)
>>> +		return NULL;
>>> +
>>> +	if (task->task_proto & SAS_PROTOCOL_STP_ALL) {
>>> +		struct ata_queued_cmd *qc;
>>> +
>>> +		qc = task->uldd_task;
>>
>> I would change these 2 lines into a single line:
>>
>> 		struct ata_queued_cmd *qc = task->uldd_task;
>>
>> And no cast as suggested.
>>
>>> +		scmd = qc->scsicmd;
> 
> So do you prefer:
> 
>   scmd = ((struct ata_queued_cmd *)task->uldd_task)->scsicmd

Not a fan of the cast approach suggested by Jason. I prefer my above
suggestion, but no strong feeling about it. Either way will be OK.

> 
> As Jason suggested?
> 
> Thanks,
> John

-- 
Damien Le Moal
Western Digital Research


  reply	other threads:[~2022-09-29  7:56 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-28 12:27 [PATCH 0/6] scsi: libsas: Use request tag in more drivers John Garry
2022-09-28 12:27 ` [PATCH 1/6] scsi: libsas: Add sas_task_find_rq() John Garry
2022-09-28 13:13   ` Jason Yan
2022-09-28 13:50     ` John Garry
2022-09-28 14:38       ` Jason Yan
2022-09-28 13:17   ` Johannes Thumshirn
2022-09-28 13:56     ` John Garry
2022-09-28 14:28       ` Johannes Thumshirn
2022-09-29  2:09   ` Damien Le Moal
2022-09-29  7:33     ` John Garry
2022-09-29  7:56       ` Damien Le Moal [this message]
2022-09-28 12:27 ` [PATCH 2/6] scsi: hisi_sas: Use sas_task_find_rq() John Garry
2022-09-29  2:11   ` Damien Le Moal
2022-09-29  7:38     ` John Garry
2022-09-28 12:27 ` [PATCH 3/6] scsi: pm8001: Remove pm8001_tag_init() John Garry
2022-09-29  2:13   ` Damien Le Moal
2022-09-28 12:27 ` [PATCH 4/6] scsi: pm8001: Use sas_task_find_rq() for tagging John Garry
2022-09-29  2:17   ` Damien Le Moal
2022-09-29  7:41     ` John Garry
2022-09-28 12:27 ` [PATCH 5/6] scsi: mvsas: Delete mvs_tag_init() John Garry
2022-09-29  2:18   ` Damien Le Moal
2022-09-28 12:27 ` [PATCH 6/6] scsi: mvsas: Use sas_task_find_rq() for tagging John Garry
2022-09-29  2:22   ` Damien Le Moal
2022-09-29  7:49     ` John Garry
2022-09-29  8:02       ` Damien Le Moal

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d938ff8d-caaf-9221-e598-62e7e04aa907@opensource.wdc.com \
    --to=damien.lemoal@opensource.wdc.com \
    --cc=changyuanl@google.com \
    --cc=damien.lemoal@wdc.com \
    --cc=hare@suse.de \
    --cc=hch@lst.de \
    --cc=ipylypiv@google.com \
    --cc=jejb@linux.ibm.com \
    --cc=jinpu.wang@cloud.ionos.com \
    --cc=john.garry@huawei.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=linuxarm@huawei.com \
    --cc=martin.petersen@oracle.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.