RE: [PATCH 4/5] nvmet-rdma: add a NVMe over Fabrics RDMA target driver

Steve Wise
2016-06-14T15:23:16Z

> Either
> > > nvmet should reject and destroy the cm_id, or it should do neither and
> > > return non-zero to the RDMA_CM to reject/destroy.
> >
> > Can you just send a patch?
>
> Yes, I'll send it out in a separate email.

Before I do, what do you think of this (untested)?

diff --git a/drivers/nvme/target/rdma.c b/drivers/nvme/target/rdma.c
index b1c6e5b..6f0c335 100644
--- a/drivers/nvme/target/rdma.c
+++ b/drivers/nvme/target/rdma.c
@@ -1255,7 +1255,8 @@ static int nvmet_rdma_cm_handler(struct rdma_cm_id *cm_id,

switch (event->event) {
case RDMA_CM_EVENT_CONNECT_REQUEST:
- ret = nvmet_rdma_queue_connect(cm_id, event);
+ if (nvmet_rdma_queue_connect(cm_id, event))
+ rdma_destroy_id(cm_id);
break;
case RDMA_CM_EVENT_ESTABLISHED:
nvmet_rdma_queue_established(queue);