aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/lockd/host.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/fs/lockd/host.c b/fs/lockd/host.c
index a17664c7eacc..cb26e3d952a2 100644
--- a/fs/lockd/host.c
+++ b/fs/lockd/host.c
@@ -103,16 +103,19 @@ static struct nlm_host *nlm_lookup_host(int server,
103 nlm_get_host(host); 103 nlm_get_host(host);
104 goto out; 104 goto out;
105 } 105 }
106 if (nsm)
107 atomic_inc(&nsm->sm_count);
108
109 host = NULL;
110 106
111 /* Sadly, the host isn't in our hash table yet. See if 107 /*
112 * we have an NSM handle for it. If not, create one. 108 * The host wasn't in our hash table. If we don't
109 * have an NSM handle for it yet, create one.
113 */ 110 */
114 if (!nsm && !(nsm = nsm_find(sin, hostname, hostname_len))) 111 if (nsm)
115 goto out; 112 atomic_inc(&nsm->sm_count);
113 else {
114 host = NULL;
115 nsm = nsm_find(sin, hostname, hostname_len);
116 if (!nsm)
117 goto out;
118 }
116 119
117 host = kzalloc(sizeof(*host), GFP_KERNEL); 120 host = kzalloc(sizeof(*host), GFP_KERNEL);
118 if (!host) { 121 if (!host) {