summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--nfsmount.c19
-rw-r--r--util-linux/nfsmount.c19
2 files changed, 22 insertions, 16 deletions
diff --git a/nfsmount.c b/nfsmount.c
index 397858b..e615d1d 100644
--- a/nfsmount.c
+++ b/nfsmount.c
@@ -183,7 +183,8 @@ static int nfs_mount_version;
* nfs_mount_version: version this source and running kernel can handle
*/
static void
-find_kernel_nfs_mount_version(void) {
+find_kernel_nfs_mount_version(void)
+{
static int kernel_version = 0;
if (kernel_version)
@@ -193,15 +194,17 @@ find_kernel_nfs_mount_version(void) {
kernel_version = get_kernel_revision();
if (kernel_version) {
- if (kernel_version < MAKE_VERSION(2,1,32))
- nfs_mount_version = 1;
- else if (kernel_version < MAKE_VERSION(2,3,99))
- nfs_mount_version = 3;
- else
- nfs_mount_version = 4; /* since 2.3.99pre4 */
+ if (kernel_version < MAKE_VERSION(2,1,32))
+ nfs_mount_version = 1;
+ else if (kernel_version < MAKE_VERSION(2,2,18) ||
+ (kernel_version >= MAKE_VERSION(2,3,0) &&
+ kernel_version < MAKE_VERSION(2,3,99)))
+ nfs_mount_version = 3;
+ else
+ nfs_mount_version = 4; /* since 2.3.99pre4 */
}
if (nfs_mount_version > NFS_MOUNT_VERSION)
- nfs_mount_version = NFS_MOUNT_VERSION;
+ nfs_mount_version = NFS_MOUNT_VERSION;
}
static struct pmap *
diff --git a/util-linux/nfsmount.c b/util-linux/nfsmount.c
index 397858b..e615d1d 100644
--- a/util-linux/nfsmount.c
+++ b/util-linux/nfsmount.c
@@ -183,7 +183,8 @@ static int nfs_mount_version;
* nfs_mount_version: version this source and running kernel can handle
*/
static void
-find_kernel_nfs_mount_version(void) {
+find_kernel_nfs_mount_version(void)
+{
static int kernel_version = 0;
if (kernel_version)
@@ -193,15 +194,17 @@ find_kernel_nfs_mount_version(void) {
kernel_version = get_kernel_revision();
if (kernel_version) {
- if (kernel_version < MAKE_VERSION(2,1,32))
- nfs_mount_version = 1;
- else if (kernel_version < MAKE_VERSION(2,3,99))
- nfs_mount_version = 3;
- else
- nfs_mount_version = 4; /* since 2.3.99pre4 */
+ if (kernel_version < MAKE_VERSION(2,1,32))
+ nfs_mount_version = 1;
+ else if (kernel_version < MAKE_VERSION(2,2,18) ||
+ (kernel_version >= MAKE_VERSION(2,3,0) &&
+ kernel_version < MAKE_VERSION(2,3,99)))
+ nfs_mount_version = 3;
+ else
+ nfs_mount_version = 4; /* since 2.3.99pre4 */
}
if (nfs_mount_version > NFS_MOUNT_VERSION)
- nfs_mount_version = NFS_MOUNT_VERSION;
+ nfs_mount_version = NFS_MOUNT_VERSION;
}
static struct pmap *