diff -up nfs-utils-1.3.0/utils/mount/stropts.c.orig nfs-utils-1.3.0/utils/mount/stropts.c --- nfs-utils-1.3.0/utils/mount/stropts.c.orig 2020-04-24 11:20:59.576467216 -0400 +++ nfs-utils-1.3.0/utils/mount/stropts.c 2020-04-24 11:36:56.482047489 -0400 @@ -851,7 +851,7 @@ out: */ static int nfs_autonegotiate(struct nfsmount_info *mi) { - int result; + int result, olderrno; result = nfs_try_mount_v4(mi); check_result: @@ -911,7 +911,18 @@ fall_back: if (mi->version.v_mode == V_GENERAL) /* v2,3 fallback not allowed */ return result; - return nfs_try_mount_v3v2(mi, FALSE); + + /* + * Save the original errno in case the v3 + * mount fails from one of the fall_back cases. + * Report the first failure not the v3 mount failure + */ + olderrno = errno; + if ((result = nfs_try_mount_v3v2(mi, FALSE))) + return result; + + errno = olderrno; + return result; } /*