summaryrefslogtreecommitdiff
path: root/nfs-utils
diff options
context:
space:
mode:
authorFredrik Rinnestam <fredrik@crux.nu>2015-11-02 00:36:48 +0100
committerFredrik Rinnestam <fredrik@crux.nu>2015-11-02 00:36:48 +0100
commite26a7daa1e00eb5c4af5817f8fd598ea19cc8c1c (patch)
tree2a1278fa4db53743a509c8437c20087c8512accd /nfs-utils
parent2d8d69e8c926f97f1fc8716670a87929b58ba325 (diff)
parentc9bbf9ce26366ca6ab6b2dc0518b50d61487f041 (diff)
downloadopt-e26a7daa1e00eb5c4af5817f8fd598ea19cc8c1c.tar.gz
opt-e26a7daa1e00eb5c4af5817f8fd598ea19cc8c1c.tar.xz
Merge branch '3.1' into 3.2
Diffstat (limited to 'nfs-utils')
-rw-r--r--nfs-utils/.md5sum4
-rw-r--r--nfs-utils/Pkgfile9
-rw-r--r--nfs-utils/nfssvc_setfds.patch57
-rw-r--r--nfs-utils/statd_foreground_mode.patch27
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);

Generated by cgit