[DRBD-cvs] r1695 - trunk/user

svn at svn.drbd.org svn at svn.drbd.org
Tue Jan 4 16:00:53 CET 2005


Author: phil
Date: 2005-01-04 16:00:48 +0100 (Tue, 04 Jan 2005)
New Revision: 1695

Modified:
   trunk/user/drbdadm_main.c
   trunk/user/drbdmeta.c
Log:
Made drbdadm show-gc to display the UUIDs as well, and
implemented the set-uuid command.


Modified: trunk/user/drbdadm_main.c
===================================================================
--- trunk/user/drbdadm_main.c	2005-01-04 14:40:52 UTC (rev 1694)
+++ trunk/user/drbdadm_main.c	2005-01-04 15:00:48 UTC (rev 1695)
@@ -193,6 +193,7 @@
   { "get-gc",            admm_generic,          1, 1 },
   { "dump-md",           admm_generic,          1, 1 },
   { "set-gc",            admm_generic,          0, 1 },
+  { "set-uuid",          admm_generic,          0, 1 },
   { "pri-on-incon-degr", adm_khelper,           0, 1 },
   { "pri-sees-sec-with-higher-gc", adm_khelper, 0, 1 },
   { "outdate-peer",      adm_khelper,           0, 1 },

Modified: trunk/user/drbdmeta.c
===================================================================
--- trunk/user/drbdmeta.c	2005-01-04 14:40:52 UTC (rev 1694)
+++ trunk/user/drbdmeta.c	2005-01-04 15:00:48 UTC (rev 1695)
@@ -552,6 +552,7 @@
 int meta_create_md(struct format *cfg, char **argv, int argc);
 int meta_set_gc(struct format *cfg, char **argv, int argc);
 int meta_outdate_gc(struct format *cfg, char **argv, int argc);
+int meta_set_uuid(struct format *cfg, char **argv, int argc);
 
 struct meta_cmd cmds[] = {
 	{"get-gc", 0, meta_get_gc, 1},
@@ -562,6 +563,7 @@
 	 * implicit convert from v07 to v08 by create-md
 	 * see comments there */
 	{"outdate", 0, meta_outdate_gc, 1},
+	{"set-uuid", 0, meta_set_uuid, 1},
 	{"set-gc", ":::VAL:VAL:...", meta_set_gc, 0},
 };
 
@@ -1159,6 +1161,9 @@
 		printf("zero size device -- never seen peer yet?\n");
 	}
 
+	printf("local  uuid: %llX\n",cfg->md.uuid);
+	printf("peer's uuid: %llX\n",cfg->md.peer_uuid);
+
 	return cfg->ops->close(cfg);
 }
 
@@ -1318,6 +1323,32 @@
 	return rv;
 }
 
+int meta_set_uuid(struct format *cfg, char **argv, int argc)
+{
+	int err;
+
+	if (argc > 1) {
+		fprintf(stderr, "Ignoring additional arguments\n");
+	}
+	if (argc < 1) {
+		fprintf(stderr, "Required Argument missing\n");
+		exit(10);
+	}
+
+	if (cfg->ops->open(cfg))
+		return -1;
+
+	cfg->md.uuid = strtoll(argv[0],NULL,16);
+
+	err = cfg->ops->md_cpu_to_disk(cfg)
+	    || cfg->ops->close(cfg);
+	if (err)
+		fprintf(stderr, "update failed\n");
+
+	return err;
+	
+}
+
 int meta_set_gc(struct format *cfg, char **argv, int argc)
 {
 	struct md_cpu tmp;



More information about the drbd-cvs mailing list