From 350fce8dbf43f7d441b77366851c9ce3cd28d6dc Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Wed, 4 Oct 2006 02:16:00 -0700 Subject: [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 Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- fs/lockd/svcsubs.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) (limited to 'fs/lockd/svcsubs.c') diff --git a/fs/lockd/svcsubs.c b/fs/lockd/svcsubs.c index bb13a48210f..a1c7c084841 100644 --- a/fs/lockd/svcsubs.c +++ b/fs/lockd/svcsubs.c @@ -354,13 +354,11 @@ nlmsvc_free_host_resources(struct nlm_host *host) } /* - * delete all hosts structs for clients + * Remove all locks held for clients */ void nlmsvc_invalidate_all(void) { - struct nlm_host *host; - /* Release all locks held by NFS clients. * Previously, the code would call * nlmsvc_free_host_resources for each client in @@ -368,10 +366,4 @@ nlmsvc_invalidate_all(void) * Now we just do it once in nlm_traverse_files. */ nlm_traverse_files(NULL, nlmsvc_is_client); - - while ((host = nlm_find_client()) != NULL) { - host->h_expires = 0; - host->h_killed = 1; - nlm_release_host(host); - } } -- cgit v1.2.3