diff options
author | Trond Myklebust <trond.myklebust@primarydata.com> | 2015-08-17 21:36:22 +0300 |
---|---|---|
committer | Trond Myklebust <trond.myklebust@primarydata.com> | 2015-08-17 21:36:22 +0300 |
commit | 37bfcc14b2b44ce03930eeb2c3de1c20f7da6fb9 (patch) | |
tree | 7a83a146def660cebc6d965b876af1995035e16e /net/sunrpc | |
parent | eed889b161ce4817e594c28906269d776f4806a5 (diff) | |
parent | 99b1a4c32ad22024ac6198a4337aaec5ea23168f (diff) | |
download | linux-37bfcc14b2b44ce03930eeb2c3de1c20f7da6fb9.tar.xz |
Merge branch 'bugfixes'
* bugfixes:
SUNRPC: Fix a thinko in xs_connect()
NFSv4.1/pNFS: Fix borken function _same_data_server_addrs_locked()
NFS: nfs_set_pgio_error sometimes misses errors
Diffstat (limited to 'net/sunrpc')
-rw-r--r-- | net/sunrpc/xprtsock.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/net/sunrpc/xprtsock.c b/net/sunrpc/xprtsock.c index 0030376327b7..86ed778bb18b 100644 --- a/net/sunrpc/xprtsock.c +++ b/net/sunrpc/xprtsock.c @@ -2279,13 +2279,14 @@ static void xs_connect(struct rpc_xprt *xprt, struct rpc_task *task) WARN_ON_ONCE(!xprt_lock_connect(xprt, task, transport)); - /* Start by resetting any existing state */ - xs_reset_transport(transport); - - if (transport->sock != NULL && !RPC_IS_SOFTCONN(task)) { + if (transport->sock != NULL) { dprintk("RPC: xs_connect delayed xprt %p for %lu " "seconds\n", xprt, xprt->reestablish_timeout / HZ); + + /* Start by resetting any existing state */ + xs_reset_transport(transport); + queue_delayed_work(rpciod_workqueue, &transport->connect_worker, xprt->reestablish_timeout); |