dm_target
TAILQ_ENTRY(dm_target) dm_target_next;
struct dm_target *target; /* Link to table target. */
dm_target_t *dm_target;
TAILQ_FOREACH(dm_target, &dm_target_list, dm_target_next) {
dlen = strlen(dm_target->name) + 1;
if (strncmp(dm_target_name, dm_target->name, slen) == 0)
return dm_target;
dm_target_insert(dm_target_t *dm_target)
if (dm_target->init == NULL) {
printf("%s missing init\n", dm_target->name);
if (dm_target->strategy == NULL) {
printf("%s missing strategy\n", dm_target->name);
if (dm_target->destroy == NULL) {
printf("%s missing destroy\n", dm_target->name);
if (dm_target->upcall == NULL) {
printf("%s missing upcall\n", dm_target->name);
dmt = dm_target_lookup_name(dm_target->name);
TAILQ_INSERT_TAIL(&dm_target_list, dm_target, dm_target_next);
dm_target_t *dm_target;
while ((dm_target = TAILQ_FIRST(&dm_target_list)) != NULL) {
TAILQ_REMOVE(&dm_target_list, dm_target, dm_target_next);
kmem_free(dm_target, sizeof(dm_target_t));
dm_target_t *dm_target;
TAILQ_FOREACH(dm_target, &dm_target_list, dm_target_next) {
dm_target->name);
prop_array_add_uint32(ver, dm_target->version[i]);
TAILQ_HEAD(dm_target_head, dm_target);