[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>
This commit is contained in:

committed by
Linus Torvalds

parent
c53c1bb94f
commit
350fce8dbf
@@ -192,33 +192,6 @@ nlm_destroy_host(struct nlm_host *host)
|
||||
kfree(host);
|
||||
}
|
||||
|
||||
struct nlm_host *
|
||||
nlm_find_client(void)
|
||||
{
|
||||
struct hlist_head *chain;
|
||||
struct hlist_node *pos;
|
||||
|
||||
/* find a nlm_host for a client for which h_killed == 0.
|
||||
* and return it
|
||||
*/
|
||||
mutex_lock(&nlm_host_mutex);
|
||||
for (chain = nlm_hosts; chain < nlm_hosts + NLM_HOST_NRHASH; ++chain) {
|
||||
struct nlm_host *host;
|
||||
|
||||
hlist_for_each_entry(host, pos, chain, h_hash) {
|
||||
if (host->h_server &&
|
||||
host->h_killed == 0) {
|
||||
nlm_get_host(host);
|
||||
mutex_unlock(&nlm_host_mutex);
|
||||
return host;
|
||||
}
|
||||
}
|
||||
}
|
||||
mutex_unlock(&nlm_host_mutex);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Create the NLM RPC client for an NLM peer
|
||||
*/
|
||||
|
Reference in New Issue
Block a user