Skip to contentSkip to conversation

e2fsprogs-config-before-cmdline.patch

PATCH In review Kalpak Shah 3 participants 3 messages Oct 6, 2008 – Oct 7, 2008

lore
Share & tools
lore
#0 lore raw

PATCH 2/15 e2fsprogs-config-before-cmdline.patch

The patch changes the order that the config file and command line are parsed so that command line has precedence. It also adds a check to make sure only one -E option is passed on the command line as -E option parsing is not cumulative.

The patch changes the order that the config file and command line are parsed so that command line has precedence. It also adds a check to make sure only one -E option is passed on the command line as -E option parsing is not cumulative.

e2fsck/unix.c +7 -4
Index: e2fsprogs-1.40.11/e2fsck/unix.c
===================================================================
@@ -589,7 +589,6 @@ static errcode_t PRS(int argc, char *arg
 #ifdef HAVE_SIGNAL_H
 	struct sigaction	sa;
 #endif
-	char		*extended_opts = 0;
 	char		*cp;
 	int 		res;		/* result of sscanf */
 #ifdef CONFIG_JBD_DEBUG
@@ -620,6 +619,12 @@ static errcode_t PRS(int argc, char *arg
 		ctx->program_name = *argv;
 	else
 		ctx->program_name = "e2fsck";
+
+	if ((cp = getenv("E2FSCK_CONFIG")) != NULL)
+		config_fn[0] = cp;
+	profile_set_syntax_err_cb(syntax_err_report);
+	profile_init(config_fn, &ctx->profile);
+
 	while ((c = getopt (argc, argv, "panyrcC:B:dE:fvtFVM:b:I:j:P:l:L:N:SsDk")) != EOF)
 		switch (c) {
 		case 'C':
@@ -650,7 +655,7 @@ static errcode_t PRS(int argc, char *arg
 			ctx->options |= E2F_OPT_COMPRESS_DIRS;
 			break;
 		case 'E':
-			extended_opts = optarg;
+			parse_extended_opts(ctx, optarg);
 			break;
 		case 'p':
 		case 'a':
@@ -777,13 +782,6 @@ static errcode_t PRS(int argc, char *arg
 		fatal_error(ctx, 0);
 	}
 	ctx->filesystem_name = string_copy(ctx, ctx->filesystem_name, 0);
-	if (extended_opts)
-		parse_extended_opts(ctx, extended_opts);
#1 lore raw
Quoted 4 lines · Kalpak Shah

The patch changes the order that the config file and command line are parsed so that command line has precedence. It also adds a check to make sure only one -E option is passed on the command line as -E option parsing is not cumulative.

Hmm. I wonder if we would be better off making -E option parsing cumulative, especially if we are going to add a way of specifying some extended options via the config file. Comments?

- Ted

#2 lore raw
Quoted 9 lines · Theodore Ts'o
Quoted 4 lines · Kalpak Shah

The patch changes the order that the config file and command line are parsed so that command line has precedence. It also adds a check to make sure only one -E option is passed on the command line as -E option parsing is not cumulative.

Hmm. I wonder if we would be better off making -E option parsing cumulative, especially if we are going to add a way of specifying some extended options via the config file. Comments?

I've always thought that both -E and -O should be cumulative.

Cheers, Andreas
--
Andreas Dilger
Sr. Staff Engineer, Lustre Group
Sun Microsystems of Canada, Inc.