summaryrefslogtreecommitdiff
path: root/fs/lockd/host.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/lockd/host.c')
-rw-r--r--fs/lockd/host.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/fs/lockd/host.c b/fs/lockd/host.c
index a0d0b58ce7a4..637ec9567066 100644
--- a/fs/lockd/host.c
+++ b/fs/lockd/host.c
@@ -331,9 +331,12 @@ nlm_gc_hosts(void)
}
dprintk("lockd: delete host %s\n", host->h_name);
*q = host->h_next;
- /* Don't unmonitor hosts that have been invalidated */
- if (host->h_monitored && !host->h_killed)
- nsm_unmonitor(host);
+
+ /*
+ * Unmonitor unless host was invalidated (i.e. lockd restarted)
+ */
+ nsm_unmonitor(host);
+
if ((clnt = host->h_rpcclnt) != NULL) {
if (atomic_read(&clnt->cl_users)) {
printk(KERN_WARNING