child; /* forked bg child? */
};
-inline void set_default_version(struct nfsmount_info *mi);
#ifdef MOUNT_CONFIG
-inline void set_default_version(struct nfsmount_info *mi)
+static void nfs_default_version(struct nfsmount_info *mi);
+
+static void nfs_default_version(struct nfsmount_info *mi)
{
extern unsigned long config_default_vers;
/*
}
}
#else
-inline void set_default_version(struct nfsmount_info *mi) {}
+inline void nfs_default_version(struct nfsmount_info *mi) {}
#endif /* MOUNT_CONFIG */
/*
return 0;
return 1;
}
+
/*
* Set up mandatory non-version specific NFS mount options.
*
* If enabled, see if the default version was
* set in the config file
*/
- set_default_version(mi);
+ nfs_default_version(mi);
if (!nfs_append_sloppy_option(mi->options))
return 0;
if (linux_version_code() > MAKE_VERSION(2, 6, 31)) {
errno = 0;
result = nfs_try_mount_v4(mi);
- if (errno != EPROTONOSUPPORT)
- break;
+ if (errno != EPROTONOSUPPORT) {
+ /*
+ * To deal with legacy Linux servers that don't
+ * automatically export a pseudo root, retry
+ * ENOENT errors using version 3
+ */
+ if (errno != ENOENT)
+ break;
+ }
}
case 2:
case 3: