From 4aff637e575423e620403fd9f3c10864a4dae39d Mon Sep 17 00:00:00 2001 From: Kozlowski Mateusz Date: Thu, 22 Apr 2021 13:25:50 +0200 Subject: [PATCH] Add priv field initialization on cache start This allows access to it in ctx_metadata_updater_init, which is done in the same call stack during initalization. Signed-off-by: Kozlowski Mateusz --- inc/ocf_mngt.h | 3 ++- src/mngt/ocf_mngt_cache.c | 7 ++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/inc/ocf_mngt.h b/inc/ocf_mngt.h index db48410..a05f63f 100644 --- a/inc/ocf_mngt.h +++ b/inc/ocf_mngt.h @@ -325,12 +325,13 @@ static inline void ocf_mngt_cache_config_set_default( * @param[in] ctx OCF context * @param[out] cache Cache handle * @param[in] cfg Starting cache configuration + * @param[in] priv initial value of priv field in cache * * @retval 0 Cache started successfully * @retval Non-zero Error occurred and starting cache failed */ int ocf_mngt_cache_start(ocf_ctx_t ctx, ocf_cache_t *cache, - struct ocf_mngt_cache_config *cfg); + struct ocf_mngt_cache_config *cfg, void *priv); /** * @brief Set queue to be used during management operations diff --git a/src/mngt/ocf_mngt_cache.c b/src/mngt/ocf_mngt_cache.c index 0d45315..731a09e 100644 --- a/src/mngt/ocf_mngt_cache.c +++ b/src/mngt/ocf_mngt_cache.c @@ -1179,7 +1179,7 @@ static void _ocf_mngt_cache_init(ocf_cache_t cache, } static int _ocf_mngt_cache_start(ocf_ctx_t ctx, ocf_cache_t *cache, - struct ocf_mngt_cache_config *cfg) + struct ocf_mngt_cache_config *cfg, void *priv) { struct ocf_cache_mngt_init_params params; ocf_cache_t tmp_cache; @@ -1208,6 +1208,7 @@ static int _ocf_mngt_cache_start(ocf_ctx_t ctx, ocf_cache_t *cache, tmp_cache = params.cache; tmp_cache->owner = ctx; + tmp_cache->priv = priv; /* * Initialize metadata selected segments of metadata in memory @@ -1946,7 +1947,7 @@ static const char *_ocf_cache_mode_get_name(ocf_cache_mode_t cache_mode) } int ocf_mngt_cache_start(ocf_ctx_t ctx, ocf_cache_t *cache, - struct ocf_mngt_cache_config *cfg) + struct ocf_mngt_cache_config *cfg, void *priv) { int result; @@ -1957,7 +1958,7 @@ int ocf_mngt_cache_start(ocf_ctx_t ctx, ocf_cache_t *cache, if (result) return result; - result = _ocf_mngt_cache_start(ctx, cache, cfg); + result = _ocf_mngt_cache_start(ctx, cache, cfg, priv); if (!result) { _ocf_mngt_cache_set_valid(*cache);