cluster: RHEL56 - qdisk: mkqdisk argument positioning

Lon Hohberger lon at fedoraproject.org
Thu Jul 29 20:14:55 UTC 2010


Gitweb:        http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=c6873545f430825a0f211dd595a2248f24ab88c1
Commit:        c6873545f430825a0f211dd595a2248f24ab88c1
Parent:        eff6913e7cea3be112e6635c168d2215c9735d2b
Author:        Tatsuo Kawasaki <kawasaki at redhat.com>
AuthorDate:    Fri Feb 12 14:42:52 2010 -0500
Committer:     Lon Hohberger <lhh at redhat.com>
CommitterDate: Thu Jul 29 16:01:46 2010 -0400

qdisk: mkqdisk argument positioning

mkqdisk debug option (-d) doesn't work after -L option.

This works:
  mkqdisk -d -L

This should also work:
  mkqdisk -L -d

This patch fixes the behavior.

Resolves: rhbz#555246

Signed-off-by: Lon Hohberger <lhh at redhat.com>
---
 cman/qdisk/mkqdisk.c |   21 ++++++++++++++-------
 1 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/cman/qdisk/mkqdisk.c b/cman/qdisk/mkqdisk.c
index 46d6b63..edccf1c 100644
--- a/cman/qdisk/mkqdisk.c
+++ b/cman/qdisk/mkqdisk.c
@@ -37,7 +37,7 @@ main(int argc, char **argv)
 {
 	char device[128];
 	char *newdev = NULL, *newlabel = NULL;
-	int rv, verbose_level = 1;
+	int rv, flg = 0, verbose_level = 1;
 
 	printf("mkqdisk v0.6.0\n");
 
@@ -48,13 +48,12 @@ main(int argc, char **argv)
 			break;
 		case 'L':
 			/* List */
-			close(2);
-			return find_partitions(NULL, NULL, 0, verbose_level);
-			break;
+			flg = rv;
+ 			break;
 		case 'f':
-			close(2);
-			return find_partitions( optarg, device,
-					       sizeof(device), verbose_level);
+			flg = rv;
+			newlabel = optarg;
+			break;
 		case 'c':
 			newdev = optarg;
 			break;
@@ -70,6 +69,14 @@ main(int argc, char **argv)
 		}
 	}
 
+	/* list */
+	if (flg == 'L') {
+		return find_partitions(NULL, NULL, 0, verbose_level);
+	} else if (flg == 'f') {
+		return find_partitions( newlabel, device,
+				       sizeof(device), verbose_level);
+	}
+
 	if (!newdev && !newlabel) {
 		printf("usage: mkqdisk -L | -f <label> | -c "
 		       "<device> -l <label>\n");


More information about the cluster-commits mailing list