[PATCH 10/12] lockd: move immediate host expiry into separate function

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This code will later be shared.

Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxxxxxx>
---
 fs/lockd/host.c |   27 ++++++++++++++++-----------
 1 files changed, 16 insertions(+), 11 deletions(-)

diff --git a/fs/lockd/host.c b/fs/lockd/host.c
index fa006af..588017f 100644
--- a/fs/lockd/host.c
+++ b/fs/lockd/host.c
@@ -593,29 +593,34 @@ static void warn_host_leak(struct host_table *table)
 	}
 }
 
-/*
- * Shut down the hosts module.
- * Note that this routine is called only at server shutdown time.
- */
-void
-nlm_shutdown_hosts(void)
+static void expire_hosts(struct host_table *table)
 {
 	struct hlist_head *chain;
 	struct hlist_node *pos;
 	struct nlm_host	*host;
 
-	dprintk("lockd: shutting down host module\n");
-	mutex_lock(&nlm_hosts.ht_mutex);
-
-	/* First, make all hosts eligible for gc */
 	dprintk("lockd: nuking all hosts...\n");
-	for_each_host(host, pos, chain, &nlm_hosts) {
+	for_each_host(host, pos, chain, table) {
 		host->h_expires = jiffies - 1;
 		if (host->h_rpcclnt) {
 			rpc_shutdown_client(host->h_rpcclnt);
 			host->h_rpcclnt = NULL;
 		}
 	}
+}
+
+/*
+ * Shut down the hosts module.
+ * Note that this routine is called only at server shutdown time.
+ */
+void
+nlm_shutdown_hosts(void)
+{
+	dprintk("lockd: shutting down host module\n");
+	mutex_lock(&nlm_hosts.ht_mutex);
+
+	/* First, make all hosts eligible for gc */
+	expire_hosts(&nlm_hosts);
 
 	/* Then, perform a garbage collection pass */
 	nlm_gc_hosts();
-- 
1.5.5.rc1

--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux