block: introduce blk_rq_is_passthrough
This can be used to check for fs vs non-fs requests and basically removes all knowledge of BLOCK_PC specific from the block layer, as well as preparing for removing the cmd_type field in struct request. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jens Axboe <axboe@fb.com>
此提交包含在:
@@ -1423,7 +1423,7 @@ static inline bool nvme_rdma_queue_is_ready(struct nvme_rdma_queue *queue,
|
||||
if (unlikely(!test_bit(NVME_RDMA_Q_LIVE, &queue->flags))) {
|
||||
struct nvme_command *cmd = nvme_req(rq)->cmd;
|
||||
|
||||
if (rq->cmd_type != REQ_TYPE_DRV_PRIV ||
|
||||
if (!blk_rq_is_passthrough(rq) ||
|
||||
cmd->common.opcode != nvme_fabrics_command ||
|
||||
cmd->fabrics.fctype != nvme_fabrics_type_connect)
|
||||
return false;
|
||||
@@ -1522,7 +1522,7 @@ static void nvme_rdma_complete_rq(struct request *rq)
|
||||
return;
|
||||
}
|
||||
|
||||
if (rq->cmd_type == REQ_TYPE_DRV_PRIV)
|
||||
if (blk_rq_is_passthrough(rq))
|
||||
error = rq->errors;
|
||||
else
|
||||
error = nvme_error_status(rq->errors);
|
||||
|
新增問題並參考
封鎖使用者