aboutsummaryrefslogtreecommitdiffstats
path: root/net/sunrpc/xprtrdma/rpc_rdma.c
diff options
context:
space:
mode:
authorTom Talpey <talpey@netapp.com>2008-10-09 15:01:21 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2008-10-10 15:12:44 -0400
commit926449ba66ce2a45c619bbe755b00d6bdbf0d83e (patch)
tree94bebe684f2d9c1e2954843e571cb2657e75ac05 /net/sunrpc/xprtrdma/rpc_rdma.c
parent9191ca3b381b15b9a88785a8ae2fa4db8e553b0c (diff)
downloadkernel_samsung_aries-926449ba66ce2a45c619bbe755b00d6bdbf0d83e.zip
kernel_samsung_aries-926449ba66ce2a45c619bbe755b00d6bdbf0d83e.tar.gz
kernel_samsung_aries-926449ba66ce2a45c619bbe755b00d6bdbf0d83e.tar.bz2
RPC/RDMA: return a consistent error, when connect fails.
The xprt_connect call path does not expect such errors as ECONNREFUSED to be returned from failed transport connection attempts, otherwise it translates them to EIO and signals fatal errors. For example, mount.nfs prints simply "internal error". Translate all such errors to ENOTCONN from RPC/RDMA to match sockets behavior. Signed-off-by: Tom Talpey <talpey@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'net/sunrpc/xprtrdma/rpc_rdma.c')
-rw-r--r--net/sunrpc/xprtrdma/rpc_rdma.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/sunrpc/xprtrdma/rpc_rdma.c b/net/sunrpc/xprtrdma/rpc_rdma.c
index d245c0b..94ecf1b 100644
--- a/net/sunrpc/xprtrdma/rpc_rdma.c
+++ b/net/sunrpc/xprtrdma/rpc_rdma.c
@@ -699,7 +699,7 @@ rpcrdma_conn_func(struct rpcrdma_ep *ep)
xprt_wake_pending_tasks(xprt, 0);
} else {
if (xprt_test_and_clear_connected(xprt))
- xprt_wake_pending_tasks(xprt, ep->rep_connected);
+ xprt_wake_pending_tasks(xprt, -ENOTCONN);
}
spin_unlock_bh(&xprt->transport_lock);
}