notify the kernel that sloppy mount option parsing is needed, add "sloppy"
to the string of mount options passed to the kernel.
The 2.6.23 - 2.6.26 kernels will fail the mount if "sloppy" is present, as
they won't recognize it. To prevent them from ever seeing this option,
have the mount command check the kernel version before appending the option.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
#include "error.h"
#include "network.h"
#include "parse_opt.h"
+#include "version.h"
#ifdef HAVE_RPCSVC_NFS_PROT_H
#include <rpcsvc/nfs_prot.h>
extern int nfs_mount_data_version;
extern char *progname;
extern int verbose;
+extern int sloppy;
struct nfsmount_info {
const char *spec, /* server:/path */
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.
*
return 0;
}
+ if (!nfs_append_sloppy_option(mi->options))
+ return 0;
+
if (!append_addr_option(&saddr, mi->options))
return 0;