--- dmraid/1.0.0.rc9/include/dmraid/dmraid.h.table 2005-10-31 15:17:28.000000000 -0500
+++ dmraid/1.0.0.rc9/include/dmraid/dmraid.h 2005-10-31 15:17:28.000000000 -0500
@@ -55,6 +55,7 @@
extern const char *get_set_type(struct lib_context *lc, void *rs);
extern const char *get_set_name(struct lib_context *lc, void *rs);
extern int group_set(struct lib_context *lc, char *name);
+extern char *libdmraid_make_table(struct lib_context *lc, struct raid_set *rs);
enum activate_type {
A_ACTIVATE,
--- dmraid/1.0.0.rc9/lib/.export.sym.table 2005-05-24 06:56:05.000000000 -0400
+++ dmraid/1.0.0.rc9/lib/.export.sym 2005-11-03 15:08:46.000000000 -0500
@@ -34,8 +34,9 @@
libdmraid_exit;
libdmraid_init;
libdmraid_date;
libdmraid_version;
+ libdmraid_make_table;
list_formats;
lock_resource;
log_alloc_err;
plog;
--- dmraid/1.0.0.rc9/lib/activate/activate.c.table 2005-09-21 09:55:44.000000000 -0400
+++ dmraid/1.0.0.rc9/lib/activate/activate.c 2005-11-03 17:54:56.000000000 -0500
@@ -474,6 +474,26 @@
return do_device(lc, rs, dm_unregister_for_event);
}
+char *libdmraid_make_table(struct lib_context *lc, struct raid_set *rs)
+{
+ char *table = NULL;
+ char *ret;
+ struct type_handler *h;
+
+ if (T_GROUP(rs))
+ return NULL;
+
+ h = handler(rs);
+
+ if (!h->f(lc, &table, rs)) {
+ log_err(lc, "no mapping possible for RAID set %s", rs->name);
+ return NULL;
+ }
+ ret = strdup(table);
+ free_string(lc, &table);
+ return ret;
+}
+
/* Activate a single set. */
static int activate_subset(struct lib_context *lc, struct raid_set *rs,
enum dm_what what)