commit:     151c446a8906e7489de10ae2e66642a142e5509c
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 30 16:17:50 2019 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Wed Oct 30 16:18:41 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=151c446a

net-fs/nfs-utils: Revbump to fix issue with old kernels and statx

Bumped straight to stable as this seems to affect many users.

Thanks-to: Andreas Steinmetz <ast <AT> domdv.de>
Tested-by: Lars Langhans <lars.langhans <AT> gmx.de>
Tested-by: Brian Evans <grknight <AT> gentoo.org>
Bug: https://bugs.gentoo.org/688644
Package-Manager: Portage-2.3.78, Repoman-2.3.17
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>

 net-fs/nfs-utils/files/nfs-utils-2.4.1-statx.patch | 31 ++++++++++++++++++++++
 ...s-2.4.1-r2.ebuild => nfs-utils-2.4.1-r3.ebuild} |  1 +
 2 files changed, 32 insertions(+)

diff --git a/net-fs/nfs-utils/files/nfs-utils-2.4.1-statx.patch 
b/net-fs/nfs-utils/files/nfs-utils-2.4.1-statx.patch
new file mode 100644
index 00000000000..7515a819915
--- /dev/null
+++ b/net-fs/nfs-utils/files/nfs-utils-2.4.1-statx.patch
@@ -0,0 +1,31 @@
+From c8953944c5d34095d42f604f911022fbe144918c Mon Sep 17 00:00:00 2001
+From: Andreas Steinmetz <a...@domdv.de>
+Date: Wed, 30 Oct 2019 16:57:00 +0100
+Subject: [PATCH] Old kernels don't know statx calls and return EINVAL
+
+On a system with glibc-2.29 and kernel 4.9.128 nfs v3 mount fails as
+statx() with mask=STATX_BASIC_STATS returns EINVAL, probably from
+glibc, as strace of rpc.mountd shows no system call.
+
+Fixes: https://bugs.gentoo.org/688644
+Signed-off-by: Lars Wendler <polynomia...@gentoo.org>
+---
+ support/misc/xstat.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/support/misc/xstat.c b/support/misc/xstat.c
+index fa047880..6aca6e29 100644
+--- a/support/misc/xstat.c
++++ b/support/misc/xstat.c
+@@ -47,6 +47,8 @@ statx_do_stat(int fd, const char *pathname, struct stat 
*statbuf, int flags)
+                       statx_copy(statbuf, &stxbuf);
+                       return 0;
+               }
++              if (errno == EINVAL)
++                      errno = ENOSYS;
+               if (errno == ENOSYS)
+                       statx_supported = 0;
+       } else
+-- 
+2.24.0.rc1
+

diff --git a/net-fs/nfs-utils/nfs-utils-2.4.1-r2.ebuild 
b/net-fs/nfs-utils/nfs-utils-2.4.1-r3.ebuild
similarity index 99%
rename from net-fs/nfs-utils/nfs-utils-2.4.1-r2.ebuild
rename to net-fs/nfs-utils/nfs-utils-2.4.1-r3.ebuild
index 26c3bbb3348..24e426f2374 100644
--- a/net-fs/nfs-utils/nfs-utils-2.4.1-r2.ebuild
+++ b/net-fs/nfs-utils/nfs-utils-2.4.1-r3.ebuild
@@ -69,6 +69,7 @@ PATCHES=(
        "${FILESDIR}"/${PN}-2.3.4-no-werror.patch
        "${FILESDIR}"/${P}-gssd-Look-in-lib32-for-gss-libs-aswell.patch
        "${FILESDIR}"/${P}-Fix-include-order-between-config.h-and-stat.h.patch
+       "${FILESDIR}"/${PN}-2.4.1-statx.patch #688644
 )
 
 pkg_setup() {

Reply via email to