On 11/3/21 00:40, Christoph Hellwig wrote:
On Tue, Nov 02, 2021 at 05:05:29PM -0700, Bart Van Assche wrote:
- req = blk_get_request(q, REQ_OP_DRV_OUT, 0);
+ req = blk_mq_alloc_request(q, REQ_OP_DRV_OUT, BLK_MQ_REQ_RESERVED);
blk_get_request will be gone in 5.16-rc, so this won't apply.
Thanks for the reminder Christoph. This is something I am aware of.
Hence the promise in the cover letter to rebase and repost this patch
series after the merge window has closed.
But more importantly: SCSI LLDDs have absolutel no business calling
blk_get_request or blk_mq_alloc_request directly, but as usual UFS is
completely fucked up here.
As explained by Adrian, the UFS protocol uses a single tag space for
SCSI commands and UFS device commands. blk_mq_alloc_request() is used in
this context to allocate a tag only from the shared tag space only. I
think using blk_mq_alloc_request() for that purpose is fine.
Thanks,
Bart.