diff options
Diffstat (limited to 'fs/nfs/nfs4renewd.c')
-rw-r--r-- | fs/nfs/nfs4renewd.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/fs/nfs/nfs4renewd.c b/fs/nfs/nfs4renewd.c index e1ba58c3d1ad..82e77198d17e 100644 --- a/fs/nfs/nfs4renewd.c +++ b/fs/nfs/nfs4renewd.c | |||
@@ -136,6 +136,26 @@ nfs4_kill_renewd(struct nfs_client *clp) | |||
136 | cancel_delayed_work_sync(&clp->cl_renewd); | 136 | cancel_delayed_work_sync(&clp->cl_renewd); |
137 | } | 137 | } |
138 | 138 | ||
139 | /** | ||
140 | * nfs4_set_lease_period - Sets the lease period on a nfs_client | ||
141 | * | ||
142 | * @clp: pointer to nfs_client | ||
143 | * @lease: new value for lease period | ||
144 | * @lastrenewed: time at which lease was last renewed | ||
145 | */ | ||
146 | void nfs4_set_lease_period(struct nfs_client *clp, | ||
147 | unsigned long lease, | ||
148 | unsigned long lastrenewed) | ||
149 | { | ||
150 | spin_lock(&clp->cl_lock); | ||
151 | clp->cl_lease_time = lease; | ||
152 | clp->cl_last_renewal = lastrenewed; | ||
153 | spin_unlock(&clp->cl_lock); | ||
154 | |||
155 | /* Cap maximum reconnect timeout at 1/2 lease period */ | ||
156 | rpc_cap_max_reconnect_timeout(clp->cl_rpcclient, lease >> 1); | ||
157 | } | ||
158 | |||
139 | /* | 159 | /* |
140 | * Local variables: | 160 | * Local variables: |
141 | * c-basic-offset: 8 | 161 | * c-basic-offset: 8 |