1
0
Fork 0
alistair23-linux/include/linux/sunrpc
Trond Myklebust 0fdea1e8a2 SUNRPC: Ensure that we wait for connections to complete before retrying
Commit 718ba5b873, moved the responsibility for unlocking the socket to
xs_tcp_setup_socket, meaning that the socket will be unlocked before we
know that it has finished trying to connect. The following patch is based on
an initial patch by Russell King to ensure that we delay clearing the
XPRT_CONNECTING flag until we either know that we failed to initiate
a connection attempt, or the connection attempt itself failed.

Fixes: 718ba5b873 ("SUNRPC: Add helpers to prevent socket create from racing")
Reported-by: Russell King <linux@arm.linux.org.uk>
Reported-by: Russell King <rmk+kernel@arm.linux.org.uk>
Tested-by: Russell King <rmk+kernel@arm.linux.org.uk>
Tested-by: Benjamin Coddington <bcodding@redhat.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
2015-09-17 18:01:28 -04:00
..
addr.h SUNRPC: Drop double-underscores from __rpc_cmp_addr6() 2015-08-17 14:47:53 -05:00
auth.h sunrpc: increase UNX_MAXNODENAME from 32 to __NEW_UTS_LEN bytes 2015-08-12 14:31:04 -04:00
auth_gss.h sunrpc: remove __rcu annotation from struct gss_cl_ctx->gc_gss_ctx 2014-08-03 17:05:23 -04:00
bc_xprt.h SUNRPC: Clean up bc_send() 2015-06-02 13:30:35 -04:00
cache.h sunrpc: Switch to using hash list instead single list 2015-08-13 08:59:03 -04:00
clnt.h sunrpc: keep a count of swapfiles associated with the rpc_clnt 2015-06-10 18:26:14 -04:00
debug.h sunrpc: make debugfs file creation failure non-fatal 2015-04-23 14:42:27 -04:00
gss_api.h svcrpc: store gss mech in svc_cred 2013-07-01 17:23:06 -04:00
gss_asn1.h
gss_err.h
gss_krb5.h sunrpc: remove "ec" argument from encrypt_v2 operation 2014-08-03 17:05:24 -04:00
gss_krb5_enctypes.h
metrics.h SUNRPC: Fix a compile error when #undef CONFIG_PROC_FS 2015-02-12 08:31:38 -05:00
msg_prot.h SUNRPC: Introduce missing well-known netids 2015-03-31 09:52:52 -04:00
rpc_pipe_fs.h sunrpc: replace sunrpc_net->gssd_running flag with a more reliable check 2013-12-06 13:06:31 -05:00
rpc_rdma.h xprtrdma: Clean up hdrlen 2015-01-30 10:47:48 -05:00
sched.h sunrpc: keep a count of swapfiles associated with the rpc_clnt 2015-06-10 18:26:14 -04:00
stats.h
svc.h nfsd/sunrpc: factor svc_rqst allocation and freeing from sv_nrthreads refcounting 2015-08-10 16:05:44 -04:00
svc_rdma.h Changes for 4.3 2015-09-09 08:33:31 -07:00
svc_xprt.h nfsd/sunrpc: turn enqueueing a svc_xprt into a svc_serv operation 2015-08-10 16:05:42 -04:00
svcauth.h svcrpc: store gss mech in svc_cred 2013-07-01 17:23:06 -04:00
svcauth_gss.h
svcsock.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-04-12 17:31:22 -07:00
timer.h
types.h
xdr.h rpc: define xdr_restrict_buflen 2014-05-30 17:32:01 -04:00
xprt.h SUNRPC: Transport fault injection 2015-06-10 18:37:26 -04:00
xprtrdma.h xprtrdma: Increase default credit limit 2015-08-05 16:21:26 -04:00
xprtsock.h SUNRPC: Ensure that we wait for connections to complete before retrying 2015-09-17 18:01:28 -04:00