From: Peter Rajnoha Date: Mon, 30 Sep 2013 06:17:56 +0000 (+0200) Subject: fix: also make commit b4637 work without dmeventd X-Git-Tag: v2_02_103~8 X-Git-Url: https://sourceware.org/git/?a=commitdiff_plain;h=e02ff3226021ddaf0861f65637d9be65d855506b;p=lvm2.git fix: also make commit b4637 work without dmeventd --- diff --git a/lib/raid/raid.c b/lib/raid/raid.c index 20e8c1a9a..c963fd2cb 100644 --- a/lib/raid/raid.c +++ b/lib/raid/raid.c @@ -282,28 +282,6 @@ static void _raid_destroy(struct segment_type *segtype) } #ifdef DEVMAPPER_SUPPORT -#ifdef DMEVENTD -static const char *_get_raid_dso_path(struct cmd_context *cmd) -{ - const char *config_str = find_config_tree_str(cmd, dmeventd_raid_library_CFG, NULL); - return get_monitor_dso_path(cmd, config_str); -} - -static int _raid_target_present(struct cmd_context *cmd, - const struct lv_segment *seg __attribute__((unused)), - unsigned *attributes __attribute__((unused))) -{ - static int _raid_checked = 0; - static int _raid_present = 0; - - if (!_raid_checked) - _raid_present = target_present(cmd, "raid", 1); - - _raid_checked = 1; - - return _raid_present; -} - static int _raid_target_percent(void **target_state, percent_t *percent, struct dm_pool *mem, @@ -346,6 +324,28 @@ static int _raid_target_percent(void **target_state, return 1; } +static int _raid_target_present(struct cmd_context *cmd, + const struct lv_segment *seg __attribute__((unused)), + unsigned *attributes __attribute__((unused))) +{ + static int _raid_checked = 0; + static int _raid_present = 0; + + if (!_raid_checked) + _raid_present = target_present(cmd, "raid", 1); + + _raid_checked = 1; + + return _raid_present; +} + +#ifdef DMEVENTD +static const char *_get_raid_dso_path(struct cmd_context *cmd) +{ + const char *config_str = find_config_tree_str(cmd, dmeventd_raid_library_CFG, NULL); + return get_monitor_dso_path(cmd, config_str); +} + static int _raid_target_monitored(struct lv_segment *seg, int *pending) { struct cmd_context *cmd = seg->lv->vg->cmd; diff --git a/lib/thin/thin.c b/lib/thin/thin.c index 531e5466c..8477aac93 100644 --- a/lib/thin/thin.c +++ b/lib/thin/thin.c @@ -224,6 +224,33 @@ static int _thin_target_present(struct cmd_context *cmd, const struct lv_segment *seg, unsigned *attributes); +static int _thin_pool_modules_needed(struct dm_pool *mem, + const struct lv_segment *seg __attribute__((unused)), + struct dm_list *modules) +{ + if (!str_list_add(mem, modules, _thin_pool_module)) { + log_error("String list allocation failed for thin_pool."); + return 0; + } + + return 1; +} + +static int _thin_modules_needed(struct dm_pool *mem, + const struct lv_segment *seg, + struct dm_list *modules) +{ + if (!_thin_pool_modules_needed(mem, seg, modules)) + return_0; + + if (!str_list_add(mem, modules, _thin_module)) { + log_error("String list allocation failed for thin."); + return 0; + } + + return 1; +} + static int _thin_pool_add_target_line(struct dev_manager *dm, struct dm_pool *mem, struct cmd_context *cmd, @@ -416,32 +443,6 @@ static int _target_unregister_events(struct lv_segment *seg, return _target_set_events(seg, events, 0); } -static int _thin_pool_modules_needed(struct dm_pool *mem, - const struct lv_segment *seg __attribute__((unused)), - struct dm_list *modules) -{ - if (!str_list_add(mem, modules, _thin_pool_module)) { - log_error("String list allocation failed for thin_pool."); - return 0; - } - - return 1; -} - -static int _thin_modules_needed(struct dm_pool *mem, - const struct lv_segment *seg, - struct dm_list *modules) -{ - if (!_thin_pool_modules_needed(mem, seg, modules)) - return_0; - - if (!str_list_add(mem, modules, _thin_module)) { - log_error("String list allocation failed for thin."); - return 0; - } - - return 1; -} # endif /* DMEVENTD */ #endif /* DEVMAPPER_SUPPORT */