On Mon, Sep 26, 2022 at 04:51:59PM +0200, Christoph Hellwig wrote:
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.
Yes. That falls back to IRQ completions.
I think it should be possible to support if we use request-only
interface. Most of the information in bio-poll interface comes from
request.
But I doubt if polling for admin command is a useful thing.