Hi Bruce- svc_rdma_transport.c :: svc_rdma_wc_send has this snippet: 355 ctxt = container_of(cqe, struct svc_rdma_op_ctxt, cqe); 356 svc_rdma_unmap_dma(ctxt); 357 svc_rdma_put_context(ctxt, 1); 358 359 if (unlikely(wc->status != IB_WC_SUCCESS)) { 360 set_bit(XPT_CLOSE, &xprt->sc_xprt.xpt_flags); 361 if (wc->status != IB_WC_WR_FLUSH_ERR) 362 pr_err("svcrdma: Send: %s (%u/0x%x)\n", 363 ib_wc_status_msg(wc->status), 364 wc->status, wc->vendor_err); 365 } This releases resources that were used to send a Reply. It's the last thing that is done for each RPC. I'm wondering about the set_bit(XPT_CLOSE). In order to guarantee that the svc layer will see this bit, should this code also call svc_enqueue_xprt? There are several other places in the svc_rdma code that set XPT_CLOSE but do not also enqueue the xprt. Thoughts? -- Chuck Lever -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html