summaryrefslogtreecommitdiffstats
path: root/init
diff options
context:
space:
mode:
authorChuck Lever <chuck.lever@oracle.com>2009-12-03 15:58:56 -0500
committerTrond Myklebust <Trond.Myklebust@netapp.com>2009-12-03 15:58:56 -0500
commit012da158f636347c4eb28fd1e1cca020fef5e54d (patch)
tree2b51c0d57ab2353bce700c599185e7fd346e251e /init
parent2a76b3bfa22993fc09166bd6a8db0dbe902b6813 (diff)
downloadblackbird-op-linux-012da158f636347c4eb28fd1e1cca020fef5e54d.tar.gz
blackbird-op-linux-012da158f636347c4eb28fd1e1cca020fef5e54d.zip
SUNRPC: Use soft connects for autobinding over TCP
Autobinding is handled by the rpciod process, not in user processes that are generating regular RPC requests. Thus autobinding is usually not affected by signals targetting user processes, such as KILL or timer expiration events. In addition, an RPC request generated by a user process that has RPC_TASK_SOFTCONN set and needs to perform an autobind will hang if the remote rpcbind service is not available. For rpcbind queries on connection-oriented transports, let's use the new soft connect semantic to return control to the user's process quickly, if the kernel's rpcbind client can't connect to the remote rpcbind service. Logic is introduced in call_bind_status() to handle connection errors that occurred during an asynchronous rpcbind query. The logic abandons the rpcbind query if the RPC request has SOFTCONN set, and retries after a few seconds in the normal case. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'init')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud