summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2006-10-02 02:17:52 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2006-10-02 07:57:18 -0700
commit7dcf91ec6698fe8564ad91bbe42740aacaa0d9ee (patch)
tree65c5406dffd6a12c2ae7a26fc59448163cc3f78e
parent3dfb4210535303bb4c2e0ff1c4fdd4dfe9b93472 (diff)
downloadlinux-7dcf91ec6698fe8564ad91bbe42740aacaa0d9ee.tar.gz
linux-7dcf91ec6698fe8564ad91bbe42740aacaa0d9ee.tar.bz2
linux-7dcf91ec6698fe8564ad91bbe42740aacaa0d9ee.zip
[PATCH] knfsd: Move makesock failed warning into make_socks.
Thus it is printed for any path that leads to failure (make_socks is called from two places). Cc: "J. Bruce Fields" <bfields@fieldses.org> Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--fs/lockd/svc.c18
1 files changed, 8 insertions, 10 deletions
diff --git a/fs/lockd/svc.c b/fs/lockd/svc.c
index f0791cff45ac..448768b52913 100644
--- a/fs/lockd/svc.c
+++ b/fs/lockd/svc.c
@@ -227,15 +227,19 @@ static int make_socks(struct svc_serv *serv, int proto)
* If nlm_udpport or nlm_tcpport were set as module
* options, make those sockets unconditionally
*/
+ static int warned;
int err = 0;
if (proto == IPPROTO_UDP || nlm_udpport)
if (!find_socket(serv, IPPROTO_UDP))
err = svc_makesock(serv, IPPROTO_UDP, nlm_udpport);
- if (err)
- return err;
- if (proto == IPPROTO_TCP || nlm_tcpport)
+ if (err == 0 && (proto == IPPROTO_TCP || nlm_tcpport))
if (!find_socket(serv, IPPROTO_TCP))
err= svc_makesock(serv, IPPROTO_TCP, nlm_tcpport);
+ if (!err)
+ warned = 0;
+ else if (warned++ == 0)
+ printk(KERN_WARNING
+ "lockd_up: makesock failed, error=%d\n", err);
return err;
}
@@ -245,7 +249,6 @@ static int make_socks(struct svc_serv *serv, int proto)
int
lockd_up(int proto) /* Maybe add a 'family' option when IPv6 is supported ?? */
{
- static int warned;
struct svc_serv * serv;
int error = 0;
@@ -278,13 +281,8 @@ lockd_up(int proto) /* Maybe add a 'family' option when IPv6 is supported ?? */
goto out;
}
- if ((error = make_socks(serv, proto)) < 0) {
- if (warned++ == 0)
- printk(KERN_WARNING
- "lockd_up: makesock failed, error=%d\n", error);
+ if ((error = make_socks(serv, proto)) < 0)
goto destroy_and_out;
- }
- warned = 0;
/*
* Create the kernel thread and wait for it to start.