On Tue, Oct 08, 2019 at 10:23:56PM +0200, Thomas Deutschmann wrote: > Hi, > > we have some user reporting that NFS v3 mounts are broken > when using glibc-2.29 and linux-4.9.x (4.9.128) because > statx() with mask=STATX_BASIC_STATS returns EINVAL. > > Looks like this isn't happening with <nfs-utils-2.4.1 or > newer kernels. > > The following workaround was confirmed to be working: > > --- a/support/misc/xstat.c 2019-06-24 21:31:55.260371592 +0200 > +++ b/support/misc/xstat.c 2019-06-24 21:32:29.098777436 +0200 > @@ -47,6 +47,8 @@ > statx_copy(statbuf, &stxbuf); > return 0; > } > + if (errno == EINVAL) > + errno = ENOSYS; > if (errno == ENOSYS) > statx_supported = 0; > } else > > > Bug: https://bugs.gentoo.org/688644 > > At the moment I have no clue whether this is kernel/glibc or > nfs-utils related; if the patch is safe to apply... Well, sounds like nfs-utils started using statx in 2.4.1. And just the fact that varying the kernel version makes it sound like there was a kernel bug causing an EINVAL return in this case, and that bug got fixed. One way to confirm might be running mount under strace and looking for that EINVAL return. I might also try looking through the kernel logs for nfs or the stat code to see if there's a mention of this (didn't see it on a quick look.) Or try bisecting kernel versions to find the one where this was fixed. --b. > > Any help is appreciated. Thanks! > > > -- > Regards, > Thomas Deutschmann / Gentoo Linux Developer > C4DD 695F A713 8F24 2AA1 5638 5849 7EE5 1D5D 74A5 >