From 5dd09e823b0559faf72de7a773864b35a08f7b3d Mon Sep 17 00:00:00 2001 From: Michal Mielewczyk Date: Tue, 6 Aug 2019 06:26:40 -0400 Subject: [PATCH] Initialize promotion policy before cleaning policy. If cleaning policy didn't have init() function, '_ocf_mngt_init_instance_load_complete' returned early and promotion policy wasn't initialized at all. Signed-off-by: Michal Mielewczyk --- src/mngt/ocf_mngt_cache.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/mngt/ocf_mngt_cache.c b/src/mngt/ocf_mngt_cache.c index d923c74..633365c 100644 --- a/src/mngt/ocf_mngt_cache.c +++ b/src/mngt/ocf_mngt_cache.c @@ -475,6 +475,13 @@ void _ocf_mngt_init_instance_load_complete(void *priv, int error) OCF_PL_FINISH_RET(context->pipeline, -OCF_ERR_START_CACHE_FAIL); } + result = __init_promotion_policy(cache); + if (result) { + ocf_cache_log(cache, log_err, + "Cannot initialize promotion policy\n"); + OCF_PL_FINISH_RET(context->pipeline, result); + } + cleaning_policy = cache->conf_meta->cleaning_policy_type; if (!cleaning_policy_ops[cleaning_policy].initialize) goto out; @@ -487,14 +494,7 @@ void _ocf_mngt_init_instance_load_complete(void *priv, int error) if (result) { ocf_cache_log(cache, log_err, "Cannot initialize cleaning policy\n"); - OCF_PL_FINISH_RET(context->pipeline, result); - } - - result = __init_promotion_policy(cache); - if (result) { - __deinit_cleaning_policy(cache); - ocf_cache_log(cache, log_err, - "Cannot initialize promotion policy\n"); + __deinit_promotion_policy(cache); OCF_PL_FINISH_RET(context->pipeline, result); }