diff options
Diffstat (limited to 'fs/lockd')
-rw-r--r-- | fs/lockd/host.c | 15 | ||||
-rw-r--r-- | fs/lockd/svcsubs.c | 8 |
2 files changed, 11 insertions, 12 deletions
diff --git a/fs/lockd/host.c b/fs/lockd/host.c index 0bf4afb..4990223 100644 --- a/fs/lockd/host.c +++ b/fs/lockd/host.c @@ -110,16 +110,13 @@ nlm_lookup_host(int server, const struct sockaddr_in *sin, if (host->h_server != server) continue; - { - if (hp != nlm_hosts + hash) { - *hp = host->h_next; - host->h_next = nlm_hosts[hash]; - nlm_hosts[hash] = host; - } - nlm_get_host(host); - mutex_unlock(&nlm_host_mutex); - return host; + if (hp != nlm_hosts + hash) { + *hp = host->h_next; + host->h_next = nlm_hosts[hash]; + nlm_hosts[hash] = host; } + nlm_get_host(host); + goto out; } /* Sadly, the host isn't in our hash table yet. See if diff --git a/fs/lockd/svcsubs.c b/fs/lockd/svcsubs.c index a92dd98f..c8308bc 100644 --- a/fs/lockd/svcsubs.c +++ b/fs/lockd/svcsubs.c @@ -115,7 +115,7 @@ nlm_lookup_file(struct svc_rqst *rqstp, struct nlm_file **result, * the file. */ if ((nfserr = nlmsvc_ops->fopen(rqstp, f, &file->f_file)) != 0) { - dprintk("lockd: open failed (nfserr %d)\n", ntohl(nfserr)); + dprintk("lockd: open failed (error %d)\n", nfserr); goto out_free; } @@ -313,10 +313,12 @@ nlmsvc_free_host_resources(struct nlm_host *host) { dprintk("lockd: nlmsvc_free_host_resources\n"); - if (nlm_traverse_files(host, NLM_ACT_UNLOCK)) + if (nlm_traverse_files(host, NLM_ACT_UNLOCK)) { printk(KERN_WARNING - "lockd: couldn't remove all locks held by %s", + "lockd: couldn't remove all locks held by %s\n", host->h_name); + BUG(); + } } /* |