aboutsummaryrefslogtreecommitdiffstats
path: root/fs/lockd/svcsubs.c
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2006-10-04 05:16:00 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-10-04 10:55:17 -0400
commit350fce8dbf43f7d441b77366851c9ce3cd28d6dc (patch)
treea47f7e875bb9c06b93df30b84de9ca97d66740b2 /fs/lockd/svcsubs.c
parentc53c1bb94f30cecee79ca0a8e9977640338283be (diff)
[PATCH] knfsd: simplify nlmsvc_invalidate_all
As a result of previous patches, the loop in nlmsvc_invalidate_all just sets h_expires for all client/hosts to 0 (though does it in a very complicated way). This was possibly meant to trigger early garbage collection but half the time '0' is in the future and so it infact delays garbage collection. Pre-aging the 'hosts' is not really needed at this point anyway so we throw out the loop and nlm_find_client which is no longer needed. Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/lockd/svcsubs.c')
-rw-r--r--fs/lockd/svcsubs.c10
1 files changed, 1 insertions, 9 deletions
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}