Re: [PATCH 02/15] scsi: add scsi_{get,put}_internal_cmd() helper

Bart Van Assche
2021-11-26T23:15:44Z

On 11/26/21 01:58, John Garry wrote:
> How about these:
> a. allow block driver to specify size of reserved request PDU separately
> to regular requests, so we can use something like this for rsvd commands:
> struct scsi_rsvd_cmnd {
>     struct scsi_device *sdev;
> }
> And fix up SCSI iter functions and LLDs to deal with it.
> b. provide block layer API to provide just same as is returned from
> blk_mq_unique_tag(), but no request is provided. This just gives what we
> need but would be disruptive in scsi layer and LLDs.
> c. as alternative to b., send all rsvd requests through the block layer,
> but can be very difficult+disruptive for users
>
> *For polling rsvd commands on a poll queue (which we will need for
> hisi_sas driver and maybe others for poll mode support), we would need
> to send the request through the block layer, but block layer polling
> requires a request with a bio, which is a problem.

How about postponing these changes until a patch is ready that converts
at least one SCSI LLD such that it uses the above functionality?

Thanks,

Bart.