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.