The request's rq_disk isn't set for passthrough IO commands, so tracing
uses qid 0 for these which incorrectly decodes as an admin command. Use
the request_queue's queuedata instead since that value is always set for
the IO queues, and never set for the admin queue.
Signed-off-by: Keith Busch <kbusch@kernel.org>
Signed-off-by: Christoph Hellwig <hch@lst.de>
 
 static inline u16 nvme_req_qid(struct request *req)
 {
-       if (!req->rq_disk)
+       if (!req->q->queuedata)
                return 0;
        return blk_mq_unique_tag_to_hwq(blk_mq_unique_tag(req)) + 1;
 }