Index: 1.0.0.rc13/lib/activate/devmapper.c
===================================================================
--- 1.0.0.rc13.orig/lib/activate/devmapper.c
+++ 1.0.0.rc13/lib/activate/devmapper.c
@@ -153,9 +153,17 @@ static int run_task(struct lib_context *
 {
 	int ret;
 	struct dm_task *dmt;
+	char *uuid;
+
+	/* Generate UUID */
+	uuid = malloc(strlen(rs->name) + UUID_PREFIX_LEN + 1);
+	if (!uuid) return 0;
+
+	sprintf(uuid, UUID_PREFIX "%s", rs->name);
 
 	_init_dm();
-	ret = (dmt = dm_task_create(type)) && dm_task_set_name(dmt, rs->name);
+	ret = (dmt = dm_task_create(type)) && dm_task_set_name(dmt, rs->name) &&
+		dm_task_set_uuid(dmt, uuid);
 	if (ret && table)
 		ret = parse_table(lc, dmt, table);
 
@@ -163,6 +171,7 @@ static int run_task(struct lib_context *
 		ret = dm_task_run(dmt);
 
 	_exit_dm(dmt);
+	free(uuid);
 	return ret;
 }
 /* Create a mapped device. */
Index: 1.0.0.rc13/lib/activate/devmapper.h
===================================================================
--- 1.0.0.rc13.orig/lib/activate/devmapper.h
+++ 1.0.0.rc13/lib/activate/devmapper.h
@@ -8,6 +8,9 @@
 #ifndef _DEVMAPPER_H_
 #define _DEVMAPPER_H
 
+#define UUID_PREFIX "dmraid-"
+#define UUID_PREFIX_LEN 7
+
 char *mkdm_path(struct lib_context *lc, const char *name);
 int dm_create(struct lib_context *lc, struct raid_set *rs, char *table);
 int dm_remove(struct lib_context *lc, struct raid_set *rs);