#include <linux/module.h>
#define DM_MSG_PREFIX "target"
static LIST_HEAD(_targets);
static DECLARE_RWSEM(_lock);
static inline struct target_type *__find_target_type(const char *name)
list_for_each_entry(tt, &_targets, list)
if (!strcmp(name, tt->name))
static struct target_type *get_target_type(const char *name)
tt = __find_target_type(name);
if (tt && !try_module_get(tt->module))
static void load_module(const char *name)
request_module("dm-%s", name);
struct target_type *dm_get_target_type(const char *name)
struct target_type *tt = get_target_type(name);
tt = get_target_type(name);
void dm_put_target_type(struct target_type *tt)