c14176b6b8
for configuring NFS for a fail-over configuration with shared state. (bnc#689622) - rpc.mountd-segfault-fix; fix possible segfault caused by "showmount -e" usage. (bnc#693189) - do-not-error-when-address-family-not-supported - suppress socket error when IPv6 is not loaded (bnc#670449) - addmntent.fix - error check writes to /etc/mtab and cope accordingly. (bnc#689799) - mount-catch-signals - don't abort on SIGXSFZ or other signals while mtab is locked (bnc#689799) - mountd-auth-fix - fix bug that could give away incorrect access to NFS exported filesystems. (bnc#701702) OBS-URL: https://build.opensuse.org/package/show/Base:System/nfs-utils?expand=0&rev=52
39 lines
1.4 KiB
Plaintext
39 lines
1.4 KiB
Plaintext
From: Suresh Jayaraman <sjayaraman@suse.de>
|
|
Subject: [PATCH] supress socket error when address family is not supported
|
|
Patch-mainline: No
|
|
References: bnc#670449
|
|
|
|
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 <sjayaraman@suse.de>
|
|
---
|
|
utils/nfsd/nfssvc.c | 7 ++++++-
|
|
1 file changed, 6 insertions(+), 1 deletion(-)
|
|
|
|
--- nfs-utils-1.2.1.orig/utils/nfsd/nfssvc.c
|
|
+++ nfs-utils-1.2.1/utils/nfsd/nfssvc.c
|
|
@@ -137,7 +137,12 @@ nfssvc_setfds(const struct addrinfo *hin
|
|
sockfd = socket(addr->ai_family, addr->ai_socktype,
|
|
addr->ai_protocol);
|
|
if (sockfd < 0) {
|
|
- xlog(L_ERROR, "unable to create %s %s socket: "
|
|
+ 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;
|