This patch makes 2 small improvements to the parsing of the bg, fg, and sloppy mount options in nfsmount.conf. 1. "bg" and "fg" negate should each other. "Background=True" should mean "bg" and "Background=False" should mean "fg". The same applies to "Foreground". 2. Once we see "Sloppy=False" while parsing the configuration file we should ignore subsequent occurrences of the sloppy option. This will preserve the "right-most setting wins" behavior for the sloppy mount option. Signed-off-by: Scott Mayhew <smayhew@xxxxxxxxxx> --- utils/mount/configfile.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/utils/mount/configfile.c b/utils/mount/configfile.c index 1f1b6e7..68b9f93 100644 --- a/utils/mount/configfile.c +++ b/utils/mount/configfile.c @@ -73,6 +73,8 @@ struct mnt_alias { }; int mnt_alias_sz = (sizeof(mnt_alias_tab)/sizeof(mnt_alias_tab[0])); +static int strict; + /* * See if the option is an alias, if so return the * real mount option along with the argument type. @@ -310,7 +312,15 @@ conf_parse_mntopts(char *section, char *arg, char *opts) if (strcasecmp(value, "false") == 0) { if (argtype != MNT_NOARG) snprintf(buf, BUFSIZ, "no%s", field); + else if (strcasecmp(field, "bg") == 0) + snprintf(buf, BUFSIZ, "fg"); + else if (strcasecmp(field, "fg") == 0) + snprintf(buf, BUFSIZ, "bg"); + else if (strcasecmp(field, "sloppy") == 0) + strict = 1; } else if (strcasecmp(value, "true") == 0) { + if ((strcasecmp(field, "sloppy") == 0) && strict) + continue; snprintf(buf, BUFSIZ, "%s", field); } else { nvalue = strdup(value); @@ -345,6 +355,7 @@ char *conf_get_mntopts(char *spec, char *mount_point, char *ptr, *server, *config_opts; int optlen = 0; + strict = 0; SLIST_INIT(&head); list_size = 0; /* -- 1.7.11.7 -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html