From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx1.redhat.com ([209.132.183.28]:65251 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753033Ab1EWM00 (ORCPT ); Mon, 23 May 2011 08:26:26 -0400 Message-ID: <4DDA526D.3020007@RedHat.com> Date: Mon, 23 May 2011 08:26:21 -0400 From: Steve Dickson To: Neil Brown CC: linux-nfs@vger.kernel.org, Suresh Jayaraman Subject: Re: [PATCH 2/2] supress socket error when address family is not supported References: <20110517045125.29020.14596.stgit@notabene.brown> <20110517045217.29020.46681.stgit@notabene.brown> In-Reply-To: <20110517045217.29020.46681.stgit@notabene.brown> Content-Type: text/plain; charset=UTF-8 Sender: linux-nfs-owner@vger.kernel.org List-ID: MIME-Version: 1.0 On 05/17/2011 12:52 AM, Neil Brown wrote: > From: Suresh Jayaraman > > It was observed that when ipv6 module was not loaded and cannot be auto-loaded, > when starting NFS server, the following error occurs: > "rpc.nfsd: unable to create inet6 TCP socket: errno 97 (Address > family not supported by protocol)" > > This is obviously a true message, but does not represent an "error" when ipv6 > is not enabled. Rather, it is an expected condition. As such, it can be > confusing / misleading / distracting to display it in this scenario. > > This patch instead of throwing error when a socket call fails with > EAFNOSUPPORT, makes it as a NOTICE. > > Signed-off-by: Suresh Jayaraman > Signed-off-by: Neil Brown > --- > > utils/nfsd/nfssvc.c | 9 +++++++-- > 1 files changed, 7 insertions(+), 2 deletions(-) > > diff --git a/utils/nfsd/nfssvc.c b/utils/nfsd/nfssvc.c > index ea36399..f607214 100644 > --- a/utils/nfsd/nfssvc.c > +++ b/utils/nfsd/nfssvc.c > @@ -174,8 +174,13 @@ nfssvc_setfds(const struct addrinfo *hints, const char *node, const char *port) > sockfd = socket(addr->ai_family, addr->ai_socktype, > addr->ai_protocol); > if (sockfd < 0) { > - xlog(L_ERROR, "unable to create %s %s socket: " > - "errno %d (%m)", family, proto, errno); > + if (errno == EAFNOSUPPORT) > + xlog(L_NOTICE, "address family %s not " > + "supported by protocol %s", > + family, proto); > + else > + xlog(L_ERROR, "unable to create %s %s socket: " > + "errno %d (%m)", family, proto, errno); > rc = errno; > goto error; > } > > Committed... steved.