[PATCH for-next v8 3/5] nvme: refactor nvme_alloc_user_request

Christoph Hellwig hch at lst.de
Mon Sep 26 07:51:59 PDT 2022


On Mon, Sep 26, 2022 at 01:13:54AM +0530, Kanchan Joshi wrote:
>>> +	if (ret)
>>> +		goto out;
>>> +	bio = req->bio;
>>
>> I think we can also do away with this bio local variable now.
>>
>>> +	if (bdev)
>>> +		bio_set_dev(bio, bdev);
>>
>> We don't need the bio_set_dev here as mentioned last time, so I think
>> we should remove it in a prep patch.
>
> we miss completing polled io with this change.
> bdev needs to be put in bio to complete polled passthrough IO.
> nvme_ns_chr_uring_cmd_iopoll uses bio_poll and that in turn makes use of
> this.

Oh, indeed - polling is another and someone unexpected user in
addition to the I/O accounting that does not apply to passthrough
requests.  That also means we can't poll admin commands at all.



More information about the Linux-nvme mailing list