diff options
-rw-r--r-- | utils/mount/stropts.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/utils/mount/stropts.c b/utils/mount/stropts.c index c8148c4..34b4134 100644 --- a/utils/mount/stropts.c +++ b/utils/mount/stropts.c @@ -45,6 +45,7 @@ #include "error.h" #include "network.h" #include "parse_opt.h" +#include "version.h" #ifdef HAVE_RPCSVC_NFS_PROT_H #include <rpcsvc/nfs_prot.h> @@ -76,6 +77,7 @@ extern int nfs_mount_data_version; extern char *progname; extern int verbose; +extern int sloppy; struct nfsmount_info { const char *spec, /* server:/path */ @@ -287,6 +289,16 @@ static int verify_lock_option(struct mount_options *options) return 1; } +static int nfs_append_sloppy_option(struct mount_options *options) +{ + if (!sloppy || linux_version_code() < MAKE_VERSION(2, 6, 27)) + return 1; + + if (po_append(options, "sloppy") == PO_FAILED) + return 0; + return 1; +} + /* * Set up mandatory NFS mount options. * @@ -309,6 +321,9 @@ static int nfs_validate_options(struct nfsmount_info *mi) return 0; } + if (!nfs_append_sloppy_option(mi->options)) + return 0; + if (!append_addr_option(&saddr, mi->options)) return 0; |