diff options
author | NeilBrown <neilb@suse.de> | 2006-10-02 13:17:52 +0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-02 18:57:18 +0400 |
commit | 7dcf91ec6698fe8564ad91bbe42740aacaa0d9ee (patch) | |
tree | 65c5406dffd6a12c2ae7a26fc59448163cc3f78e /fs/lockd/svc.c | |
parent | 3dfb4210535303bb4c2e0ff1c4fdd4dfe9b93472 (diff) | |
download | linux-7dcf91ec6698fe8564ad91bbe42740aacaa0d9ee.tar.xz |
[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>
Diffstat (limited to 'fs/lockd/svc.c')
-rw-r--r-- | fs/lockd/svc.c | 18 |
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. |