This series gets blk_execute_rq() to process polled requests and return queueing errors so the caller may know if their request wasn't dispatched. Changes since v2: Dropped patch 5 (ioctl polling flag) since there is currently no real use case. Move blk_execute_rq's poll handling to a small helper function (patch 1) Return blk_status_t instead of errno (patch 3) Removed "extern" header declaration, and named the parameters (patch 3) Initialize nvme status to 0 (patch 4) Add helper function for blk_status_t to nvme passthrough return code (patch 4) Keith Busch (4): block: support polling through blk_execute_rq nvme: use blk_execute_rq() for passthrough commands block: return errors from blk_execute_rq() nvme: use return value from blk_execute_rq() block/blk-exec.c | 25 ++++++++++++-- drivers/nvme/host/core.c | 63 ++++++++++++++-------------------- drivers/nvme/host/fabrics.c | 13 ++++--- drivers/nvme/host/fabrics.h | 2 +- drivers/nvme/host/fc.c | 2 +- drivers/nvme/host/ioctl.c | 6 +--- drivers/nvme/host/nvme.h | 4 +-- drivers/nvme/host/rdma.c | 3 +- drivers/nvme/host/tcp.c | 2 +- drivers/nvme/target/loop.c | 2 +- drivers/nvme/target/passthru.c | 8 ++--- include/linux/blkdev.h | 4 ++- 12 files changed, 69 insertions(+), 65 deletions(-) -- 2.25.4