[lvm-devel] LVM2/tools args.h lvmcmdline.c tools.h

agk at sourceware.org agk at sourceware.org
Wed Jun 30 20:21:04 UTC 2010


CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	agk at sourceware.org	2010-06-30 20:21:03

Modified files:
	tools          : args.h lvmcmdline.c tools.h 

Log message:
	Fix --[vg]metadatacopies arg processing

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/args.h.diff?cvsroot=lvm2&r1=1.77&r2=1.78
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/lvmcmdline.c.diff?cvsroot=lvm2&r1=1.125&r2=1.126
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/tools.h.diff?cvsroot=lvm2&r1=1.69&r2=1.70

--- LVM2/tools/args.h	2010/06/28 20:40:01	1.77
+++ LVM2/tools/args.h	2010/06/30 20:21:03	1.78
@@ -23,8 +23,8 @@
 arg(ignorelockingfailure_ARG, '\0', "ignorelockingfailure", NULL, 0)
 arg(nolocking_ARG, '\0', "nolocking", NULL, 0)
 arg(pvmetadatacopies_ARG, '\0', "pvmetadatacopies", int_arg, 0)
-arg(vgmetadatacopies_ARG, '\0', "vgmetadatacopies", vgmetadatacopies_arg, 0)
-arg(metadatacopies_ARG, '\0', "metadatacopies", int_arg, 0)
+arg(vgmetadatacopies_ARG, '\0', "vgmetadatacopies", metadatacopies_arg, 0)
+arg(metadatacopies_ARG, '\0', "metadatacopies", metadatacopies_arg, 0)
 arg(metadatasize_ARG, '\0', "metadatasize", size_mb_arg, 0)
 arg(metadataignore_ARG, '\0', "metadataignore", yes_no_arg, 0)
 arg(restorefile_ARG, '\0', "restorefile", string_arg, 0)
--- LVM2/tools/lvmcmdline.c	2010/06/30 16:43:10	1.125
+++ LVM2/tools/lvmcmdline.c	2010/06/30 20:21:03	1.126
@@ -476,29 +476,22 @@
 /*
  * Non-zero, positive integer, "all", or "unmanaged"
  */
-int vgmetadatacopies_arg(struct cmd_context *cmd __attribute((unused)),
+int metadatacopies_arg(struct cmd_context *cmd __attribute((unused)),
 			 struct arg *a)
 {
-	if (!strcasecmp(a->value, "all")) {
-		a->ui_value = VGMETADATACOPIES_ALL;
-		return 1;
-	}
+	if (!strncmp(cmd->command->name, "vg", 2)) {
+		if (!strcasecmp(a->value, "all")) {
+			a->ui_value = VGMETADATACOPIES_ALL;
+			return 1;
+		}
 
-	if (!strcasecmp(a->value, "unmanaged")) {
-		a->ui_value = VGMETADATACOPIES_UNMANAGED;
-		return 1;
+		if (!strcasecmp(a->value, "unmanaged")) {
+			a->ui_value = VGMETADATACOPIES_UNMANAGED;
+			return 1;
+		}
 	}
 
-	if (!_size_arg(cmd, a, 1))
-		return 0;
-
-	if (a->sign == SIGN_MINUS)
-		return 0;
-
-	if (!a->ui_value)
-		return 0;
-
-	return 1;
+	return int_arg(cmd, a);
 }
 
 static void __alloc(int size)
--- LVM2/tools/tools.h	2010/06/28 20:40:01	1.69
+++ LVM2/tools/tools.h	2010/06/30 20:21:03	1.70
@@ -152,8 +152,7 @@
 int segtype_arg(struct cmd_context *cmd, struct arg *a);
 int alloc_arg(struct cmd_context *cmd, struct arg *a);
 int readahead_arg(struct cmd_context *cmd, struct arg *a);
-int vgmetadatacopies_arg(struct cmd_context *cmd __attribute((unused)),
-			 struct arg *a);
+int metadatacopies_arg(struct cmd_context *cmd __attribute((unused)), struct arg *a);
 
 /* we use the enums to access the switches */
 unsigned arg_count(const struct cmd_context *cmd, int a);




More information about the lvm-devel mailing list