diff options
-rw-r--r-- | utils/mount/stropts.c | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/utils/mount/stropts.c b/utils/mount/stropts.c index fbea6fb..9330d42 100644 --- a/utils/mount/stropts.c +++ b/utils/mount/stropts.c @@ -119,14 +119,22 @@ static void nfs_default_version(struct nfsmount_info *mi) if (mi->version.v_mode == V_DEFAULT && config_default_vers.v_mode != V_DEFAULT) { mi->version.major = config_default_vers.major; - mi->version.minor = config_default_vers.minor; + if (config_default_vers.minor) + mi->version.minor = config_default_vers.minor; + else if (!mi->version.minor) + mi->version.minor = NFS_DEFAULT_MINOR; return; } if (mi->version.v_mode == V_GENERAL) { if (config_default_vers.v_mode != V_DEFAULT && - mi->version.major == config_default_vers.major) - mi->version.minor = config_default_vers.minor; + mi->version.major == config_default_vers.major) { + if (config_default_vers.minor) + mi->version.minor = config_default_vers.minor; + else if (!mi->version.minor) + mi->version.minor = NFS_DEFAULT_MINOR; + } else if (!mi->version.minor) + mi->version.minor = NFS_DEFAULT_MINOR; return; } @@ -741,13 +749,9 @@ static int nfs_do_mount_v4(struct nfsmount_info *mi, } if (mi->version.v_mode != V_SPECIFIC) { - if (mi->version.v_mode == V_GENERAL) - snprintf(version_opt, sizeof(version_opt) - 1, - "vers=%lu", mi->version.major); - else - snprintf(version_opt, sizeof(version_opt) - 1, - "vers=%lu.%lu", mi->version.major, - mi->version.minor); + snprintf(version_opt, sizeof(version_opt) - 1, + "vers=%lu.%lu", mi->version.major, + mi->version.minor); if (po_append(options, version_opt) == PO_FAILED) { errno = EINVAL; |