On 5/5/08 5:08 PM, "J. Bruce Fields" <bfields@xxxxxxxxxxxx> wrote: > On Fri, May 02, 2008 at 11:28:35AM -0500, Tom Tucker wrote: >> Fix the return value on close to -ENOTCONN so caller knows to free context. >> Also if a thread is waiting for free SQ space, check for close when waking >> to avoid posting WR to a closing transport. > > A random related question: svc_rdma_send_error() seems to have only one > caller, which ignores its return value. Should its return value be > made void? Honestly, I don't think this code path has ever been excercised. This is the "protocol error" path. Given my experience with the "random transport error" tests that resulted in the patchset your currently looking at, I'd be inclined to defer this kind of thing until I've built a "protocol error" set of tests and worked through the "evil client" scenarios. Thoughts? > > --b. > >> >> Signed-off-by: Tom Tucker <tom@xxxxxxxxxxxxxxxxxxxxx> >> >> --- >> net/sunrpc/xprtrdma/svc_rdma_transport.c | 2 +- >> 1 files changed, 1 insertions(+), 1 deletions(-) >> >> diff --git a/net/sunrpc/xprtrdma/svc_rdma_transport.c >> b/net/sunrpc/xprtrdma/svc_rdma_transport.c >> index 14f83a1..8adb2f0 100644 >> --- a/net/sunrpc/xprtrdma/svc_rdma_transport.c >> +++ b/net/sunrpc/xprtrdma/svc_rdma_transport.c >> @@ -999,7 +999,7 @@ int svc_rdma_send(struct svcxprt_rdma *xprt, struct >> ib_send_wr *wr) >> int ret; >> >> if (test_bit(XPT_CLOSE, &xprt->sc_xprt.xpt_flags)) >> - return 0; >> + return -ENOTCONN; >> >> BUG_ON(wr->send_flags != IB_SEND_SIGNALED); >> BUG_ON(((struct svc_rdma_op_ctxt *)(unsigned long)wr->wr_id)->wr_op != > -- > 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 -- 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