diff options
-rw-r--r-- | fs/lockd/host.c | 8 | ||||
-rw-r--r-- | include/linux/lockd/lockd.h | 2 |
2 files changed, 5 insertions, 5 deletions
diff --git a/fs/lockd/host.c b/fs/lockd/host.c index 729ac427d359..5242743c9403 100644 --- a/fs/lockd/host.c +++ b/fs/lockd/host.c | |||
@@ -112,7 +112,7 @@ nlm_lookup_host(int server, struct sockaddr_in *sin, | |||
112 | host->h_version = version; | 112 | host->h_version = version; |
113 | host->h_proto = proto; | 113 | host->h_proto = proto; |
114 | host->h_rpcclnt = NULL; | 114 | host->h_rpcclnt = NULL; |
115 | init_MUTEX(&host->h_sema); | 115 | mutex_init(&host->h_mutex); |
116 | host->h_nextrebind = jiffies + NLM_HOST_REBIND; | 116 | host->h_nextrebind = jiffies + NLM_HOST_REBIND; |
117 | host->h_expires = jiffies + NLM_HOST_EXPIRE; | 117 | host->h_expires = jiffies + NLM_HOST_EXPIRE; |
118 | atomic_set(&host->h_count, 1); | 118 | atomic_set(&host->h_count, 1); |
@@ -172,7 +172,7 @@ nlm_bind_host(struct nlm_host *host) | |||
172 | (unsigned)ntohl(host->h_addr.sin_addr.s_addr)); | 172 | (unsigned)ntohl(host->h_addr.sin_addr.s_addr)); |
173 | 173 | ||
174 | /* Lock host handle */ | 174 | /* Lock host handle */ |
175 | down(&host->h_sema); | 175 | mutex_lock(&host->h_mutex); |
176 | 176 | ||
177 | /* If we've already created an RPC client, check whether | 177 | /* If we've already created an RPC client, check whether |
178 | * RPC rebind is required | 178 | * RPC rebind is required |
@@ -204,12 +204,12 @@ nlm_bind_host(struct nlm_host *host) | |||
204 | host->h_rpcclnt = clnt; | 204 | host->h_rpcclnt = clnt; |
205 | } | 205 | } |
206 | 206 | ||
207 | up(&host->h_sema); | 207 | mutex_unlock(&host->h_mutex); |
208 | return clnt; | 208 | return clnt; |
209 | 209 | ||
210 | forgetit: | 210 | forgetit: |
211 | printk("lockd: couldn't create RPC handle for %s\n", host->h_name); | 211 | printk("lockd: couldn't create RPC handle for %s\n", host->h_name); |
212 | up(&host->h_sema); | 212 | mutex_unlock(&host->h_mutex); |
213 | return NULL; | 213 | return NULL; |
214 | } | 214 | } |
215 | 215 | ||
diff --git a/include/linux/lockd/lockd.h b/include/linux/lockd/lockd.h index 112936fcda80..a6c1a33e5ae3 100644 --- a/include/linux/lockd/lockd.h +++ b/include/linux/lockd/lockd.h | |||
@@ -54,7 +54,7 @@ struct nlm_host { | |||
54 | u32 h_nsmstate; /* true remote NSM state */ | 54 | u32 h_nsmstate; /* true remote NSM state */ |
55 | u32 h_pidcount; /* Pseudopids */ | 55 | u32 h_pidcount; /* Pseudopids */ |
56 | atomic_t h_count; /* reference count */ | 56 | atomic_t h_count; /* reference count */ |
57 | struct semaphore h_sema; /* mutex for pmap binding */ | 57 | struct mutex h_mutex; /* mutex for pmap binding */ |
58 | unsigned long h_nextrebind; /* next portmap call */ | 58 | unsigned long h_nextrebind; /* next portmap call */ |
59 | unsigned long h_expires; /* eligible for GC */ | 59 | unsigned long h_expires; /* eligible for GC */ |
60 | struct list_head h_lockowners; /* Lockowners for the client */ | 60 | struct list_head h_lockowners; /* Lockowners for the client */ |