diff options
author | Fredrik Rinnestam <fredrik@crux.nu> | 2015-11-02 00:36:48 +0100 |
---|---|---|
committer | Fredrik Rinnestam <fredrik@crux.nu> | 2015-11-02 00:36:48 +0100 |
commit | e26a7daa1e00eb5c4af5817f8fd598ea19cc8c1c (patch) | |
tree | 2a1278fa4db53743a509c8437c20087c8512accd /nfs-utils | |
parent | 2d8d69e8c926f97f1fc8716670a87929b58ba325 (diff) | |
parent | c9bbf9ce26366ca6ab6b2dc0518b50d61487f041 (diff) | |
download | opt-e26a7daa1e00eb5c4af5817f8fd598ea19cc8c1c.tar.gz opt-e26a7daa1e00eb5c4af5817f8fd598ea19cc8c1c.tar.xz |
Merge branch '3.1' into 3.2
Diffstat (limited to 'nfs-utils')
-rw-r--r-- | nfs-utils/.md5sum | 4 | ||||
-rw-r--r-- | nfs-utils/Pkgfile | 9 | ||||
-rw-r--r-- | nfs-utils/nfssvc_setfds.patch | 57 | ||||
-rw-r--r-- | nfs-utils/statd_foreground_mode.patch | 27 |
4 files changed, 64 insertions, 33 deletions
diff --git a/nfs-utils/.md5sum b/nfs-utils/.md5sum index 4cd0d412b..8ea5945da 100644 --- a/nfs-utils/.md5sum +++ b/nfs-utils/.md5sum @@ -1,11 +1,11 @@ c5ccf58f5f9f57aba75c8b72219eb6e6 exports 167ea3a16eb6f33b3642e920147bb265 idmapd.conf 49054b601b8277e86cafae36911cba46 nfs -1e2f3c1ed468dee02d00c534c002ea10 nfs-utils-1.3.2.tar.bz2 +9b87d890669eaaec8e97a2b0a35b2665 nfs-utils-1.3.3.tar.bz2 6981419f23fbe0a0ef3b44eb2efac8fd nfsclient eb907aa29567365aef517b7948dc9aa0 nfsserver +53712b894699394dbfb303171b649c5a nfssvc_setfds.patch dfe1c59368b5846316ebcf3b32666c54 rpc.idmapd ae09bd1df5f97d36b551c067d0f9261a rpc.mountd d5f41aee9b491bf23d7986e4445dbc92 rpc.nfsd 21d75587a1538b325bc9be0ecd9426a5 rpc.statd -b4c745cd305c718157af2f24eef21525 statd_foreground_mode.patch diff --git a/nfs-utils/Pkgfile b/nfs-utils/Pkgfile index f19ba8750..20b635b93 100644 --- a/nfs-utils/Pkgfile +++ b/nfs-utils/Pkgfile @@ -4,17 +4,18 @@ # Depends on: util-linux eudev libcap rpcbind libnfsidmap libevent keyutils sqlite3 name=nfs-utils -version=1.3.2 -release=5 +version=1.3.3 +release=1 source=(http://downloads.sourceforge.net/project/nfs/$name/$version/$name-$version.tar.bz2 exports idmapd.conf nfs nfsclient nfsserver rpc.idmapd rpc.statd rpc.mountd rpc.nfsd - statd_foreground_mode.patch) + nfssvc_setfds.patch) build () { cd $name-$version - patch -p1 -i $SRC/statd_foreground_mode.patch + # http://thread.gmane.org/gmane.linux.nfs/72767 + patch -p1 -i $SRC/nfssvc_setfds.patch ./configure --prefix=/usr \ --mandir=/usr/man \ diff --git a/nfs-utils/nfssvc_setfds.patch b/nfs-utils/nfssvc_setfds.patch new file mode 100644 index 000000000..e9604f19b --- /dev/null +++ b/nfs-utils/nfssvc_setfds.patch @@ -0,0 +1,57 @@ +On Mon, Aug 17, 2015 at 08:40:25AM -0700, Chuck Lever wrote: +> Probably stopped working with "rpc.nfsd: Squelch DNS errors when +> using --host option". +> +> getaddrinfo(3) returns a list of addresses, some of which are +> IPv6 addresses. It gets the list from /etc/hosts, or DNS. Even +> on kernels which do not support IPv6, there may be at least one +> IPv6 address in the list. +> +> nfssvc_setfds() then loops over this list. The error handling +> in nfssvc_setfds() causes the loop to exit if the socket(2) +> call fails. It should "continue" if the error is EAFNOSUPPORT. +> In fact, that xlog notice can also be removed. +> +> I'm traveling this week. Is this enough for you to generate a +> fix? + +Yes, that works: + +--- +From: Christoph Hellwig <hch@lst.de> +Subject: nfsd: ignore unsupported address types in nfssvc_setfds + +Just continue and try a different record returned from getaddrinfo +if the kernel does not support an address family. This fixes nfsd +startup on kernels without IPv6 support. + +Suggested-by: Chuck Lever <chuck.lever@oracle.com> +Signed-off-by: Christoph Hellwig <hch@lst.de> + +diff --git a/utils/nfsd/nfssvc.c b/utils/nfsd/nfssvc.c +index a2b11d8..fc11d23 100644 +--- a/utils/nfsd/nfssvc.c ++++ b/utils/nfsd/nfssvc.c +@@ -174,15 +174,14 @@ 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) { +- if (errno == EAFNOSUPPORT) +- xlog(L_NOTICE, "address family %s not " +- "supported by protocol %s", +- family, proto); +- else ++ if (errno != EAFNOSUPPORT) { + xlog(L_ERROR, "unable to create %s %s socket: " + "errno %d (%m)", family, proto, errno); +- rc = errno; +- goto error; ++ rc = errno; ++ goto error; ++ } ++ addr = addr->ai_next; ++ continue; + } + #ifdef IPV6_SUPPORTED + if (addr->ai_family == AF_INET6 && +-- diff --git a/nfs-utils/statd_foreground_mode.patch b/nfs-utils/statd_foreground_mode.patch deleted file mode 100644 index d171669a5..000000000 --- a/nfs-utils/statd_foreground_mode.patch +++ /dev/null @@ -1,27 +0,0 @@ -# https://bugzilla.redhat.com/show_bug.cgi?id=1188052 - -commit 17a3e5bffb7110d46de1bf42b64b90713ff5ea50 -Author: Chris Mayo <aklhfex@gmail.com> -Date: Sun Feb 1 12:03:46 2015 -0500 - - statd: Fix test for foreground mode - - daemon_init parameter has the opposite sense - to code removed in commit 7addf9d - - Signed-off-by: Chris Mayo <aklhfex@gmail.com> - Signed-off-by: Steve Dickson <steved@redhat.com> - -diff --git a/utils/statd/statd.c b/utils/statd/statd.c -index 60ce6d1..2b7a167 100644 ---- a/utils/statd/statd.c -+++ b/utils/statd/statd.c -@@ -393,7 +393,7 @@ int main (int argc, char **argv) - simulator (--argc, ++argv); /* simulator() does exit() */ - #endif - -- daemon_init(!(run_mode & MODE_NODAEMON)); -+ daemon_init((run_mode & MODE_NODAEMON)); - - if (run_mode & MODE_LOG_STDERR) { - xlog_syslog(0); |