[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