diff options
Diffstat (limited to 'fs/lockd/host.c')
-rw-r--r-- | fs/lockd/host.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/fs/lockd/host.c b/fs/lockd/host.c index a0d0b58ce7a..637ec956706 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 |