nfs-utils/nfs-utils-eperm-fallback.patch

29 lines
933 B
Diff
Raw Normal View History

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 <neilb@suse.de>
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;
}
}