From 59f0d22e405cacaeb1438011470312e39a96f614 Mon Sep 17 00:00:00 2001 From: Seth Howell Date: Wed, 27 Feb 2019 07:54:45 -0700 Subject: [PATCH] rdma: Fix misordered assert and decrement. In the error path, we were first decrementing a variable and then asserting that it must be >0. These operations should occur in the opposite order. Change-Id: I6cec544faf17bb75cbfca3d3a3c173dc5db14f99 Signed-off-by: Seth Howell Reviewed-on: https://review.gerrithub.io/c/446440 Tested-by: SPDK CI Jenkins Reviewed-by: Jim Harris Reviewed-by: yidong0635 Reviewed-by: Ben Walker --- lib/nvmf/rdma.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/nvmf/rdma.c b/lib/nvmf/rdma.c index 31f766e50..3cf994fa4 100644 --- a/lib/nvmf/rdma.c +++ b/lib/nvmf/rdma.c @@ -2784,9 +2784,9 @@ spdk_nvmf_rdma_poller_poll(struct spdk_nvmf_rdma_transport *rtransport, rqpair = SPDK_CONTAINEROF(rdma_req->req.qpair, struct spdk_nvmf_rdma_qpair, qpair); SPDK_ERRLOG("data=%p length=%u\n", rdma_req->req.data, rdma_req->req.length); + assert(rdma_req->num_outstanding_data_wr > 0); rdma_req->num_outstanding_data_wr--; if (rdma_req->data.wr.opcode == IBV_WR_RDMA_READ) { - assert(rdma_req->num_outstanding_data_wr > 0); rqpair->current_read_depth--; if (rdma_req->num_outstanding_data_wr == 0) { rdma_req->state = RDMA_REQUEST_STATE_COMPLETED;