diff options
Diffstat (limited to 'fs/lockd')
-rw-r--r-- | fs/lockd/host.c | 19 |
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) { |