rdma.c (8446546cc21819478542e9d728bce85e39898fc5) | rdma.c (ff029451496364eef0d342618dfc9972b78f3392) |
---|---|
1// SPDX-License-Identifier: GPL-2.0 2/* 3 * NVMe over Fabrics RDMA host code. 4 * Copyright (c) 2015-2016 HGST, a Western Digital Company. 5 */ 6#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt 7#include <linux/module.h> 8#include <linux/init.h> --- 135 unchanged lines hidden (view full) --- 144static bool register_always = true; 145module_param(register_always, bool, 0444); 146MODULE_PARM_DESC(register_always, 147 "Use memory registration even for contiguous memory regions"); 148 149static int nvme_rdma_cm_handler(struct rdma_cm_id *cm_id, 150 struct rdma_cm_event *event); 151static void nvme_rdma_recv_done(struct ib_cq *cq, struct ib_wc *wc); | 1// SPDX-License-Identifier: GPL-2.0 2/* 3 * NVMe over Fabrics RDMA host code. 4 * Copyright (c) 2015-2016 HGST, a Western Digital Company. 5 */ 6#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt 7#include <linux/module.h> 8#include <linux/init.h> --- 135 unchanged lines hidden (view full) --- 144static bool register_always = true; 145module_param(register_always, bool, 0444); 146MODULE_PARM_DESC(register_always, 147 "Use memory registration even for contiguous memory regions"); 148 149static int nvme_rdma_cm_handler(struct rdma_cm_id *cm_id, 150 struct rdma_cm_event *event); 151static void nvme_rdma_recv_done(struct ib_cq *cq, struct ib_wc *wc); |
152static void nvme_rdma_complete_rq(struct request *rq); |
|
152 153static const struct blk_mq_ops nvme_rdma_mq_ops; 154static const struct blk_mq_ops nvme_rdma_admin_mq_ops; 155 156static inline int nvme_rdma_queue_idx(struct nvme_rdma_queue *queue) 157{ 158 return queue - queue->ctrl->queues; 159} --- 990 unchanged lines hidden (view full) --- 1150} 1151 1152static void nvme_rdma_end_request(struct nvme_rdma_request *req) 1153{ 1154 struct request *rq = blk_mq_rq_from_pdu(req); 1155 1156 if (!refcount_dec_and_test(&req->ref)) 1157 return; | 153 154static const struct blk_mq_ops nvme_rdma_mq_ops; 155static const struct blk_mq_ops nvme_rdma_admin_mq_ops; 156 157static inline int nvme_rdma_queue_idx(struct nvme_rdma_queue *queue) 158{ 159 return queue - queue->ctrl->queues; 160} --- 990 unchanged lines hidden (view full) --- 1151} 1152 1153static void nvme_rdma_end_request(struct nvme_rdma_request *req) 1154{ 1155 struct request *rq = blk_mq_rq_from_pdu(req); 1156 1157 if (!refcount_dec_and_test(&req->ref)) 1158 return; |
1158 nvme_end_request(rq, req->status, req->result); | 1159 if (!nvme_end_request(rq, req->status, req->result)) 1160 nvme_rdma_complete_rq(rq); |
1159} 1160 1161static void nvme_rdma_wr_error(struct ib_cq *cq, struct ib_wc *wc, 1162 const char *op) 1163{ 1164 struct nvme_rdma_queue *queue = cq->cq_context; 1165 struct nvme_rdma_ctrl *ctrl = queue->ctrl; 1166 --- 1245 unchanged lines hidden --- | 1161} 1162 1163static void nvme_rdma_wr_error(struct ib_cq *cq, struct ib_wc *wc, 1164 const char *op) 1165{ 1166 struct nvme_rdma_queue *queue = cq->cq_context; 1167 struct nvme_rdma_ctrl *ctrl = queue->ctrl; 1168 --- 1245 unchanged lines hidden --- |