aboutsummaryrefslogtreecommitdiffstats
path: root/fs/lockd
diff options
context:
space:
mode:
Diffstat (limited to 'fs/lockd')
-rw-r--r--fs/lockd/host.c27
-rw-r--r--fs/lockd/svcsubs.c10
2 files changed, 1 insertions, 36 deletions
diff --git a/fs/lockd/host.c b/fs/lockd/host.c
index 3b55fe5e94a2..1bf384307d15 100644
--- a/fs/lockd/host.c
+++ b/fs/lockd/host.c
@@ -192,33 +192,6 @@ nlm_destroy_host(struct nlm_host *host)
192 kfree(host); 192 kfree(host);
193} 193}
194 194
195struct nlm_host *
196nlm_find_client(void)
197{
198 struct hlist_head *chain;
199 struct hlist_node *pos;
200
201 /* find a nlm_host for a client for which h_killed == 0.
202 * and return it
203 */
204 mutex_lock(&nlm_host_mutex);
205 for (chain = nlm_hosts; chain < nlm_hosts + NLM_HOST_NRHASH; ++chain) {
206 struct nlm_host *host;
207
208 hlist_for_each_entry(host, pos, chain, h_hash) {
209 if (host->h_server &&
210 host->h_killed == 0) {
211 nlm_get_host(host);
212 mutex_unlock(&nlm_host_mutex);
213 return host;
214 }
215 }
216 }
217 mutex_unlock(&nlm_host_mutex);
218 return NULL;
219}
220
221
222/* 195/*
223 * Create the NLM RPC client for an NLM peer 196 * Create the NLM RPC client for an NLM peer
224 */ 197 */
diff --git a/fs/lockd/svcsubs.c b/fs/lockd/svcsubs.c
index bb13a48210f5..a1c7c0848415 100644
--- a/fs/lockd/svcsubs.c
+++ b/fs/lockd/svcsubs.c
@@ -354,13 +354,11 @@ nlmsvc_free_host_resources(struct nlm_host *host)
354} 354}
355 355
356/* 356/*
357 * delete all hosts structs for clients 357 * Remove all locks held for clients
358 */ 358 */
359void 359void
360nlmsvc_invalidate_all(void) 360nlmsvc_invalidate_all(void)
361{ 361{
362 struct nlm_host *host;
363
364 /* Release all locks held by NFS clients. 362 /* Release all locks held by NFS clients.
365 * Previously, the code would call 363 * Previously, the code would call
366 * nlmsvc_free_host_resources for each client in 364 * nlmsvc_free_host_resources for each client in
@@ -368,10 +366,4 @@ nlmsvc_invalidate_all(void)
368 * Now we just do it once in nlm_traverse_files. 366 * Now we just do it once in nlm_traverse_files.
369 */ 367 */
370 nlm_traverse_files(NULL, nlmsvc_is_client); 368 nlm_traverse_files(NULL, nlmsvc_is_client);
371
372 while ((host = nlm_find_client()) != NULL) {
373 host->h_expires = 0;
374 host->h_killed = 1;
375 nlm_release_host(host);
376 }
377} 369}