diff options
| author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2007-12-20 16:03:55 -0500 |
|---|---|---|
| committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2008-01-30 02:05:59 -0500 |
| commit | ba7392bb37cb12781890f45d7ddee1618e33a036 (patch) | |
| tree | 4c9a6cb3b22cae407f810c214275ab107ee3fc77 /include/linux/sunrpc | |
| parent | 2881ae74e68ecfe3b32a90936e5d93a9ba598c3a (diff) | |
SUNRPC: Add support for per-client timeout values
In order to be able to support setting the timeo and retrans parameters on
a per-mountpoint basis, we move the rpc_timeout structure into the
rpc_clnt.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'include/linux/sunrpc')
| -rw-r--r-- | include/linux/sunrpc/clnt.h | 4 | ||||
| -rw-r--r-- | include/linux/sunrpc/xprt.h | 3 |
2 files changed, 4 insertions, 3 deletions
diff --git a/include/linux/sunrpc/clnt.h b/include/linux/sunrpc/clnt.h index 4fc268ab6f..51a338189a 100644 --- a/include/linux/sunrpc/clnt.h +++ b/include/linux/sunrpc/clnt.h | |||
| @@ -46,6 +46,7 @@ struct rpc_clnt { | |||
| 46 | cl_autobind : 1;/* use getport() */ | 46 | cl_autobind : 1;/* use getport() */ |
| 47 | 47 | ||
| 48 | struct rpc_rtt * cl_rtt; /* RTO estimator data */ | 48 | struct rpc_rtt * cl_rtt; /* RTO estimator data */ |
| 49 | const struct rpc_timeout *cl_timeout; /* Timeout strategy */ | ||
| 49 | 50 | ||
| 50 | int cl_nodelen; /* nodename length */ | 51 | int cl_nodelen; /* nodename length */ |
| 51 | char cl_nodename[UNX_MAXNODENAME]; | 52 | char cl_nodename[UNX_MAXNODENAME]; |
| @@ -54,6 +55,7 @@ struct rpc_clnt { | |||
| 54 | struct dentry * cl_dentry; /* inode */ | 55 | struct dentry * cl_dentry; /* inode */ |
| 55 | struct rpc_clnt * cl_parent; /* Points to parent of clones */ | 56 | struct rpc_clnt * cl_parent; /* Points to parent of clones */ |
| 56 | struct rpc_rtt cl_rtt_default; | 57 | struct rpc_rtt cl_rtt_default; |
| 58 | struct rpc_timeout cl_timeout_default; | ||
| 57 | struct rpc_program * cl_program; | 59 | struct rpc_program * cl_program; |
| 58 | char cl_inline_name[32]; | 60 | char cl_inline_name[32]; |
| 59 | }; | 61 | }; |
| @@ -99,7 +101,7 @@ struct rpc_create_args { | |||
| 99 | struct sockaddr *address; | 101 | struct sockaddr *address; |
| 100 | size_t addrsize; | 102 | size_t addrsize; |
| 101 | struct sockaddr *saddress; | 103 | struct sockaddr *saddress; |
| 102 | struct rpc_timeout *timeout; | 104 | const struct rpc_timeout *timeout; |
| 103 | char *servername; | 105 | char *servername; |
| 104 | struct rpc_program *program; | 106 | struct rpc_program *program; |
| 105 | u32 version; | 107 | u32 version; |
diff --git a/include/linux/sunrpc/xprt.h b/include/linux/sunrpc/xprt.h index a00d4a4ba6..c3364d88d8 100644 --- a/include/linux/sunrpc/xprt.h +++ b/include/linux/sunrpc/xprt.h | |||
| @@ -120,7 +120,7 @@ struct rpc_xprt { | |||
| 120 | struct kref kref; /* Reference count */ | 120 | struct kref kref; /* Reference count */ |
| 121 | struct rpc_xprt_ops * ops; /* transport methods */ | 121 | struct rpc_xprt_ops * ops; /* transport methods */ |
| 122 | 122 | ||
| 123 | struct rpc_timeout timeout; /* timeout parms */ | 123 | const struct rpc_timeout *timeout; /* timeout parms */ |
| 124 | struct sockaddr_storage addr; /* server address */ | 124 | struct sockaddr_storage addr; /* server address */ |
| 125 | size_t addrlen; /* size of server address */ | 125 | size_t addrlen; /* size of server address */ |
| 126 | int prot; /* IP protocol */ | 126 | int prot; /* IP protocol */ |
| @@ -191,7 +191,6 @@ struct xprt_create { | |||
| 191 | struct sockaddr * srcaddr; /* optional local address */ | 191 | struct sockaddr * srcaddr; /* optional local address */ |
| 192 | struct sockaddr * dstaddr; /* remote peer address */ | 192 | struct sockaddr * dstaddr; /* remote peer address */ |
| 193 | size_t addrlen; | 193 | size_t addrlen; |
| 194 | struct rpc_timeout * timeout; /* optional timeout parameters */ | ||
| 195 | }; | 194 | }; |
| 196 | 195 | ||
| 197 | struct xprt_class { | 196 | struct xprt_class { |
