diff options
-rw-r--r-- | net-fs/nfs-utils/files/nfs-utils-2.4.1-statx.patch | 31 | ||||
-rw-r--r-- | net-fs/nfs-utils/nfs-utils-2.4.1-r3.ebuild (renamed from net-fs/nfs-utils/nfs-utils-2.4.1-r2.ebuild) | 1 |
2 files changed, 32 insertions, 0 deletions
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 000000000000..7515a819915c --- /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 <ast@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 <polynomial-c@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 index 26c3bbb3348d..24e426f2374b 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() { |