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; } }