Message ID | 1447865496-3239-1-git-send-email-steved@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 11/18/2015 11:51 AM, Steve Dickson wrote: > To help debug rpcbind failures, make sure all > errors are logged and log as much info about > the error as possible. > > Signed-off-by: Steve Dickson <steved@redhat.com> > --- > support/nfs/svc_create.c | 12 +++++++----- > support/nfs/svc_socket.c | 11 ++++++----- > 2 files changed, 13 insertions(+), 10 deletions(-) Committed... steved > > diff --git a/support/nfs/svc_create.c b/support/nfs/svc_create.c > index 5cb5ff6..ef7ff05 100644 > --- a/support/nfs/svc_create.c > +++ b/support/nfs/svc_create.c > @@ -133,7 +133,7 @@ svc_create_bindaddr(struct netconfig *nconf, const uint16_t port) > hint.ai_family = AF_INET6; > #endif /* IPV6_SUPPORTED */ > else { > - xlog(D_GENERAL, "Unrecognized bind address family: %s", > + xlog(L_ERROR, "Unrecognized bind address family: %s", > nconf->nc_protofmly); > return NULL; > } > @@ -143,7 +143,7 @@ svc_create_bindaddr(struct netconfig *nconf, const uint16_t port) > else if (strcmp(nconf->nc_proto, NC_TCP) == 0) > hint.ai_protocol = (int)IPPROTO_TCP; > else { > - xlog(D_GENERAL, "Unrecognized bind address protocol: %s", > + xlog(L_ERROR, "Unrecognized bind address protocol: %s", > nconf->nc_proto); > return NULL; > } > @@ -275,7 +275,7 @@ svc_create_nconf_rand_port(const char *name, const rpcprog_t program, > xprt = svc_tli_create(RPC_ANYFD, nconf, &bindaddr, 0, 0); > freeaddrinfo(ai); > if (xprt == NULL) { > - xlog(D_GENERAL, "Failed to create listener xprt " > + xlog(L_ERROR, "Failed to create listener xprt " > "(%s, %u, %s)", name, version, nconf->nc_netid); > return 0; > } > @@ -286,10 +286,12 @@ svc_create_nconf_rand_port(const char *name, const rpcprog_t program, > return 0; > } > > + rpc_createerr.cf_stat = rpc_createerr.cf_error.re_errno = 0; > if (!svc_reg(xprt, program, version, dispatch, nconf)) { > /* svc_reg(3) destroys @xprt in this case */ > - xlog(D_GENERAL, "Failed to register (%s, %u, %s)", > - name, version, nconf->nc_netid); > + xlog(L_ERROR, "Failed to register (%s, %u, %s): %s", > + name, version, nconf->nc_netid, > + clnt_spcreateerror("svc_reg() err")); > return 0; > } > > diff --git a/support/nfs/svc_socket.c b/support/nfs/svc_socket.c > index 99321e7..1fa0d15 100644 > --- a/support/nfs/svc_socket.c > +++ b/support/nfs/svc_socket.c > @@ -24,6 +24,7 @@ > #include <sys/socket.h> > #include <sys/fcntl.h> > #include <errno.h> > +#include "xlog.h" > > #include "config.h" > > @@ -99,9 +100,9 @@ svcsock_nonblock(int sock) > * connection. > */ > if ((flags = fcntl(sock, F_GETFL)) < 0) > - perror(_("svc_socket: can't get socket flags")); > + xlog(L_ERROR, "svc_socket: can't get socket flags: %m"); > else if (fcntl(sock, F_SETFL, flags|O_NONBLOCK) < 0) > - perror(_("svc_socket: can't set socket flags")); > + xlog(L_ERROR, "svc_socket: can't set socket flags: %m"); > else > return sock; > > @@ -119,7 +120,7 @@ svc_socket (u_long number, int type, int protocol, int reuse) > > if ((sock = __socket (AF_INET, type, protocol)) < 0) > { > - perror (_("svc_socket: socket creation problem")); > + xlog(L_ERROR, "svc_socket: socket creation problem: %m"); > return sock; > } > > @@ -130,7 +131,7 @@ svc_socket (u_long number, int type, int protocol, int reuse) > sizeof (ret)); > if (ret < 0) > { > - perror (_("svc_socket: socket reuse problem")); > + xlog(L_ERROR, "svc_socket: socket reuse problem: %m"); > return ret; > } > } > @@ -141,7 +142,7 @@ svc_socket (u_long number, int type, int protocol, int reuse) > > if (bind(sock, (struct sockaddr *) &addr, len) < 0) > { > - perror (_("svc_socket: bind problem")); > + xlog(L_ERROR, "svc_socket: bind problem: %m"); > (void) __close(sock); > sock = -1; > } > -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/support/nfs/svc_create.c b/support/nfs/svc_create.c index 5cb5ff6..ef7ff05 100644 --- a/support/nfs/svc_create.c +++ b/support/nfs/svc_create.c @@ -133,7 +133,7 @@ svc_create_bindaddr(struct netconfig *nconf, const uint16_t port) hint.ai_family = AF_INET6; #endif /* IPV6_SUPPORTED */ else { - xlog(D_GENERAL, "Unrecognized bind address family: %s", + xlog(L_ERROR, "Unrecognized bind address family: %s", nconf->nc_protofmly); return NULL; } @@ -143,7 +143,7 @@ svc_create_bindaddr(struct netconfig *nconf, const uint16_t port) else if (strcmp(nconf->nc_proto, NC_TCP) == 0) hint.ai_protocol = (int)IPPROTO_TCP; else { - xlog(D_GENERAL, "Unrecognized bind address protocol: %s", + xlog(L_ERROR, "Unrecognized bind address protocol: %s", nconf->nc_proto); return NULL; } @@ -275,7 +275,7 @@ svc_create_nconf_rand_port(const char *name, const rpcprog_t program, xprt = svc_tli_create(RPC_ANYFD, nconf, &bindaddr, 0, 0); freeaddrinfo(ai); if (xprt == NULL) { - xlog(D_GENERAL, "Failed to create listener xprt " + xlog(L_ERROR, "Failed to create listener xprt " "(%s, %u, %s)", name, version, nconf->nc_netid); return 0; } @@ -286,10 +286,12 @@ svc_create_nconf_rand_port(const char *name, const rpcprog_t program, return 0; } + rpc_createerr.cf_stat = rpc_createerr.cf_error.re_errno = 0; if (!svc_reg(xprt, program, version, dispatch, nconf)) { /* svc_reg(3) destroys @xprt in this case */ - xlog(D_GENERAL, "Failed to register (%s, %u, %s)", - name, version, nconf->nc_netid); + xlog(L_ERROR, "Failed to register (%s, %u, %s): %s", + name, version, nconf->nc_netid, + clnt_spcreateerror("svc_reg() err")); return 0; } diff --git a/support/nfs/svc_socket.c b/support/nfs/svc_socket.c index 99321e7..1fa0d15 100644 --- a/support/nfs/svc_socket.c +++ b/support/nfs/svc_socket.c @@ -24,6 +24,7 @@ #include <sys/socket.h> #include <sys/fcntl.h> #include <errno.h> +#include "xlog.h" #include "config.h" @@ -99,9 +100,9 @@ svcsock_nonblock(int sock) * connection. */ if ((flags = fcntl(sock, F_GETFL)) < 0) - perror(_("svc_socket: can't get socket flags")); + xlog(L_ERROR, "svc_socket: can't get socket flags: %m"); else if (fcntl(sock, F_SETFL, flags|O_NONBLOCK) < 0) - perror(_("svc_socket: can't set socket flags")); + xlog(L_ERROR, "svc_socket: can't set socket flags: %m"); else return sock; @@ -119,7 +120,7 @@ svc_socket (u_long number, int type, int protocol, int reuse) if ((sock = __socket (AF_INET, type, protocol)) < 0) { - perror (_("svc_socket: socket creation problem")); + xlog(L_ERROR, "svc_socket: socket creation problem: %m"); return sock; } @@ -130,7 +131,7 @@ svc_socket (u_long number, int type, int protocol, int reuse) sizeof (ret)); if (ret < 0) { - perror (_("svc_socket: socket reuse problem")); + xlog(L_ERROR, "svc_socket: socket reuse problem: %m"); return ret; } } @@ -141,7 +142,7 @@ svc_socket (u_long number, int type, int protocol, int reuse) if (bind(sock, (struct sockaddr *) &addr, len) < 0) { - perror (_("svc_socket: bind problem")); + xlog(L_ERROR, "svc_socket: bind problem: %m"); (void) __close(sock); sock = -1; }
To help debug rpcbind failures, make sure all errors are logged and log as much info about the error as possible. Signed-off-by: Steve Dickson <steved@redhat.com> --- support/nfs/svc_create.c | 12 +++++++----- support/nfs/svc_socket.c | 11 ++++++----- 2 files changed, 13 insertions(+), 10 deletions(-)