From c56fb75ea78b594de98d6376a0a9b6cf5e511f3f Mon Sep 17 00:00:00 2001 From: Chuck Lever Date: Tue, 26 Jan 2010 14:04:13 -0500 Subject: [PATCH] --- yaml --- r: 186358 b: refs/heads/master c: 68717908155a9dcd4161f4d730fea478712d9794 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/fs/nfsd/nfsctl.c | 6 +----- trunk/net/sunrpc/svc_xprt.c | 5 ++++- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index 55defc28beec..67bf424adba1 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d6783b2b6c4050df0ba0a84c6842cf5bc2212ef9 +refs/heads/master: 68717908155a9dcd4161f4d730fea478712d9794 diff --git a/trunk/fs/nfsd/nfsctl.c b/trunk/fs/nfsd/nfsctl.c index 2604c3e70ea5..f43ecd61fa81 100644 --- a/trunk/fs/nfsd/nfsctl.c +++ b/trunk/fs/nfsd/nfsctl.c @@ -1002,12 +1002,8 @@ static ssize_t __write_ports_addxprt(char *buf) err = svc_create_xprt(nfsd_serv, transport, PF_INET, port, SVC_SOCK_ANONYMOUS); - if (err < 0) { - /* Give a reasonable perror msg for bad transport string */ - if (err == -ENOENT) - err = -EPROTONOSUPPORT; + if (err < 0) return err; - } return 0; } diff --git a/trunk/net/sunrpc/svc_xprt.c b/trunk/net/sunrpc/svc_xprt.c index f886ff367c80..d7ec5caf998c 100644 --- a/trunk/net/sunrpc/svc_xprt.c +++ b/trunk/net/sunrpc/svc_xprt.c @@ -235,7 +235,10 @@ int svc_create_xprt(struct svc_serv *serv, const char *xprt_name, err: spin_unlock(&svc_xprt_class_lock); dprintk("svc: transport %s not found\n", xprt_name); - return -ENOENT; + + /* This errno is exposed to user space. Provide a reasonable + * perror msg for a bad transport. */ + return -EPROTONOSUPPORT; } EXPORT_SYMBOL_GPL(svc_create_xprt);