+ if (blk_rq_is_poll(req)) + WRITE_ONCE(ioucmd->cookie, req);Why aren't we always setting the cookie to point at the req?As in unconditionally set the cookie even for non-polled requests? We need to see that the cookie is NULL to prevent polling interrupt queues when an io_uring polled command is dispatched to a device without polled hctx's.
Why don't we export that to an explicit flag? It would make it cleaner I think.