From: Keith Busch <kbusch@xxxxxxxxxx> Similar idea as the original v1, but even better. This series originally aimed at improve polling without payloads, and fix a potential bug when polling multipath. This ended up significantly simplifying the nvme uring_cmd handling in the process. In order to ensure we're polling the correct thing, we need the original request, but we can't depend on the "cookie" since the field has multi-purpose. But we have a free spot for the request in the driver's "pdu", so the driver just needs to detangle the "bio" occupying the same spot. Keith Busch (5): block: add request polling helper nvme: simplify passthrough bio cleanup nvme: unify nvme request end_io nvme: use blk-mq polling for uring commands io_uring: remove uring_cmd cookie block/blk-mq.c | 18 +++++ drivers/nvme/host/ioctl.c | 137 ++++++---------------------------- drivers/nvme/host/multipath.c | 2 +- drivers/nvme/host/nvme.h | 2 - include/linux/blk-mq.h | 2 + include/linux/io_uring.h | 8 +- io_uring/uring_cmd.c | 1 - 7 files changed, 47 insertions(+), 123 deletions(-) -- 2.34.1