diff --git a/nfs-utils-eperm-fallback.patch b/nfs-utils-eperm-fallback.patch new file mode 100644 index 0000000..cc2cb5f --- /dev/null +++ b/nfs-utils-eperm-fallback.patch @@ -0,0 +1,28 @@ +Fall back from v4 to v3 on EPERM. + +When the mount version isn't specified, mount.nfs tries v4 and +falls back to v3 if it gets ENOENT. +Linux kernels prior to 2.6.25 will return EPERM if there is no +v4 export, so fall back in that case too. + +This fixes bnc#557138 where a 2.6.31 or later kernel client gets +an error when mounting from a 2.6.24 or earlier server. + +Signed-off-by: NeilBrown + +diff --git a/utils/mount/stropts.c b/utils/mount/stropts.c +index b595649..68eb82b 100644 +--- a/utils/mount/stropts.c ++++ b/utils/mount/stropts.c +@@ -657,8 +657,10 @@ static int nfs_try_mount(struct nfsmount_info *mi) + * To deal with legacy Linux servers that don't + * automatically export a pseudo root, retry + * ENOENT errors using version 3 ++ * And for Linux servers prior to 2.6.25, retry ++ * EPERM + */ +- if (errno != ENOENT) ++ if (errno != ENOENT && errno != EPERM) + break; + } + } diff --git a/nfs-utils.changes b/nfs-utils.changes index 40c2be4..4483717 100644 --- a/nfs-utils.changes +++ b/nfs-utils.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Sun Nov 29 22:03:26 UTC 2009 - nfbrown@novell.com + +- nfs-utils-eperm-fallback.patch: mount.nfs + tries a v3 mount after a v4 mount fails with ENOENT. + Older linux nfsd servers return EPERM, so fall + back in that case too. bnc#557138 + ------------------------------------------------------------------- Thu Nov 5 03:16:22 UTC 2009 - nfbrown@novell.com diff --git a/nfs-utils.spec b/nfs-utils.spec index e7f753e..399cd96 100644 --- a/nfs-utils.spec +++ b/nfs-utils.spec @@ -27,9 +27,9 @@ BuildRequires: libevent Url: http://nfs.sourceforge.net Summary: Support Utilities for Kernel nfsd Version: 1.2.1 -Release: 1 +Release: 2 Group: Productivity/Networking/NFS -License: GPL v2 or later +License: GPLv2+ BuildRoot: %{_tmppath}/%{name}-%{version}-build PreReq: %fillup_prereq %insserv_prereq AutoReqProv: on @@ -49,6 +49,7 @@ Source11: idmapd.conf Source12: start-statd Patch0: nfs-utils-1.0.7-bind-syntax.patch Patch1: warn-nfs-udp.patch +Patch2: nfs-utils-eperm-fallback.patch %description This package contains the NFS utilities. You can tune the number of @@ -63,7 +64,7 @@ Authors: H.J. Lu %package -n nfs-client -License: GPL v2 or later +License: GPLv2+ Group: Productivity/Networking/NFS Summary: Support Utilities for NFS Obsoletes: nfs-utils < 1.1.0 @@ -84,7 +85,7 @@ Authors: H.J. Lu %package -n nfs-kernel-server -License: GPL v2 or later +License: GPLv2+ Group: Productivity/Networking/NFS Summary: Support Utilities for Kernel nfsd Provides: nfs-utils = %{version} @@ -107,7 +108,7 @@ Authors: H.J. Lu %package -n nfs-doc -License: GPL v2 or later +License: GPLv2+ Group: Productivity/Networking/NFS Summary: Support Utilities for NFS Obsoletes: nfs-utils < 1.1.0 @@ -127,6 +128,7 @@ Authors: %setup -q -n nfs-utils-%{version} -a 1 %patch0 -p1 %patch1 -p1 +%patch2 -p1 cp %{S:6} . %build