From bdcd4df0efe46ec29a2d8394c3924bce15e010df Mon Sep 17 00:00:00 2001 From: Robert Baldyga Date: Mon, 27 May 2019 16:44:23 +0200 Subject: [PATCH] Remove utils_device.h Move core mngt related code to ocf_mngt_core.c Signed-off-by: Robert Baldyga --- src/mngt/ocf_mngt_cache.c | 1 - src/mngt/ocf_mngt_common.c | 4 +- src/mngt/ocf_mngt_core.c | 60 +++++++++++++++-- src/mngt/ocf_mngt_core_priv.h | 2 + src/ocf_core.c | 1 - src/utils/utils_device.h | 64 ------------------- .../_cache_mng_set_cache_mode_test.c | 1 - ...gt_cache_set_fallback_pt_error_threshold.c | 1 - 8 files changed, 60 insertions(+), 74 deletions(-) delete mode 100644 src/utils/utils_device.h diff --git a/src/mngt/ocf_mngt_cache.c b/src/mngt/ocf_mngt_cache.c index d3ad54e..5ba09c2 100644 --- a/src/mngt/ocf_mngt_cache.c +++ b/src/mngt/ocf_mngt_cache.c @@ -13,7 +13,6 @@ #include "../engine/cache_engine.h" #include "../utils/utils_part.h" #include "../utils/utils_cache_line.h" -#include "../utils/utils_device.h" #include "../utils/utils_io.h" #include "../utils/utils_cache_line.h" #include "../utils/utils_pipeline.h" diff --git a/src/mngt/ocf_mngt_common.c b/src/mngt/ocf_mngt_common.c index fc0ef91..e145b43 100644 --- a/src/mngt/ocf_mngt_common.c +++ b/src/mngt/ocf_mngt_common.c @@ -5,12 +5,12 @@ #include "ocf/ocf.h" #include "ocf_mngt_common.h" +#include "ocf_mngt_core_priv.h" #include "../ocf_priv.h" #include "../ocf_ctx_priv.h" #include "../metadata/metadata.h" #include "../engine/cache_engine.h" #include "../ocf_request.h" -#include "../utils/utils_device.h" #include "../eviction/ops.h" #include "../ocf_logger_priv.h" #include "../ocf_queue_priv.h" @@ -96,7 +96,7 @@ void cache_mng_core_remove_from_meta(struct ocf_cache *cache, int core_id) cache->core_conf_meta[core_id].added = false; /* Clear UUID of core */ - ocf_metadata_clear_core_uuid(&cache->core[core_id]); + ocf_mngt_core_clear_uuid_metadata(&cache->core[core_id]); cache->core_conf_meta[core_id].seq_no = OCF_SEQ_NO_INVALID; OCF_METADATA_UNLOCK_WR(); diff --git a/src/mngt/ocf_mngt_core.c b/src/mngt/ocf_mngt_core.c index 2e23483..6425935 100644 --- a/src/mngt/ocf_mngt_core.c +++ b/src/mngt/ocf_mngt_core.c @@ -9,7 +9,6 @@ #include "../ocf_priv.h" #include "../metadata/metadata.h" #include "../engine/cache_engine.h" -#include "../utils/utils_device.h" #include "../utils/utils_pipeline.h" #include "../ocf_stats_priv.h" #include "../ocf_def_priv.h" @@ -22,6 +21,59 @@ static ocf_seq_no_t _ocf_mngt_get_core_seq_no(ocf_cache_t cache) return ++cache->conf_meta->curr_core_seq_no; } +static int _ocf_uuid_set(const struct ocf_volume_uuid *uuid, + struct ocf_metadata_uuid *muuid) +{ + int result; + + if (!uuid->data || !muuid->data) + return -EINVAL; + + if (uuid->size > sizeof(muuid->data)) + return -ENOBUFS; + + result = env_memcpy(muuid->data, sizeof(muuid->data), + uuid->data, uuid->size); + if (result) + return result; + + result = env_memset(muuid->data + uuid->size, + sizeof(muuid->data) - uuid->size, 0); + if (result) + return result; + + muuid->size = uuid->size; + + return 0; +} + +static int ocf_mngt_core_set_uuid_metadata(ocf_core_t core, + const struct ocf_volume_uuid *uuid, + struct ocf_volume_uuid *new_uuid) +{ + ocf_cache_t cache = ocf_core_get_cache(core); + struct ocf_metadata_uuid *muuid = ocf_metadata_get_core_uuid(cache, + ocf_core_get_id(core)); + + if (_ocf_uuid_set(uuid, muuid)) + return -ENOBUFS; + + if (new_uuid) { + new_uuid->data = muuid->data; + new_uuid->size = muuid->size; + } + + return 0; +} + +void ocf_mngt_core_clear_uuid_metadata(ocf_core_t core) +{ + struct ocf_volume_uuid uuid = { .size = 0, }; + + ocf_mngt_core_set_uuid_metadata(core, &uuid, NULL); +} + + static int _ocf_mngt_cache_try_add_core(ocf_cache_t cache, ocf_core_t *core, struct ocf_mngt_core_config *cfg) { @@ -118,7 +170,7 @@ static void _ocf_mngt_cache_add_core_handle_error( ocf_volume_deinit(volume); if (context->flags.uuid_set) - ocf_metadata_clear_core_uuid(core); + ocf_mngt_core_clear_uuid_metadata(core); } static void _ocf_mngt_cache_add_core_flush_sb_complete(void *priv, int error) @@ -154,7 +206,7 @@ static void _ocf_mngt_cache_add_core(ocf_cache_t cache, volume->cache = cache; /* Set uuid */ - result = ocf_metadata_set_core_uuid(core, &cfg->uuid, &new_uuid); + result = ocf_mngt_core_set_uuid_metadata(core, &cfg->uuid, &new_uuid); if (result) OCF_PL_FINISH_RET(context->pipeline, result); @@ -830,7 +882,7 @@ int ocf_mngt_core_set_uuid(ocf_core_t core, const struct ocf_volume_uuid *uuid) return 0; } - result = ocf_metadata_set_core_uuid(core, uuid, NULL); + result = ocf_mngt_core_set_uuid_metadata(core, uuid, NULL); if (result) return result; diff --git a/src/mngt/ocf_mngt_core_priv.h b/src/mngt/ocf_mngt_core_priv.h index 7b79ec8..4d0c4e1 100644 --- a/src/mngt/ocf_mngt_core_priv.h +++ b/src/mngt/ocf_mngt_core_priv.h @@ -10,4 +10,6 @@ int ocf_mngt_core_init_front_volume(ocf_core_t core); +void ocf_mngt_core_clear_uuid_metadata(ocf_core_t core); + #endif /* __OCF_MNGT_CORE_PRIV_H__ */ diff --git a/src/ocf_core.c b/src/ocf_core.c index 2fb1288..3776738 100644 --- a/src/ocf_core.c +++ b/src/ocf_core.c @@ -11,7 +11,6 @@ #include "engine/cache_engine.h" #include "ocf_request.h" #include "utils/utils_part.h" -#include "utils/utils_device.h" #include "ocf_request.h" #include "ocf_trace_priv.h" diff --git a/src/utils/utils_device.h b/src/utils/utils_device.h deleted file mode 100644 index d3643e6..0000000 --- a/src/utils/utils_device.h +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright(c) 2012-2018 Intel Corporation - * SPDX-License-Identifier: BSD-3-Clause-Clear - */ - -#ifndef UTILS_DEVICE_H_ -#define UTILS_DEVICE_H_ - -static inline int _ocf_uuid_set(const struct ocf_volume_uuid *uuid, - struct ocf_metadata_uuid *muuid) -{ - int result; - - if (!uuid || !muuid) { - return -EINVAL; - } - - if (!uuid->data || !muuid->data) { - return -EINVAL; - } - - if (uuid->size > sizeof(muuid->data)) { - return -ENOBUFS; - } - - result = env_memcpy(muuid->data, sizeof(muuid->data), uuid->data, uuid->size); - if (result) - return result; - result = env_memset(muuid->data + uuid->size, - sizeof(muuid->data) - uuid->size, 0); - if (result) - return result; - muuid->size = uuid->size; - - return 0; -} - -static inline int ocf_metadata_set_core_uuid(ocf_core_t core, - const struct ocf_volume_uuid *uuid, - struct ocf_volume_uuid *new_uuid) -{ - ocf_cache_t cache = ocf_core_get_cache(core); - struct ocf_metadata_uuid *muuid = ocf_metadata_get_core_uuid(cache, - ocf_core_get_id(core)); - - if (_ocf_uuid_set(uuid, muuid)) - return -ENOBUFS; - - if (new_uuid) { - new_uuid->data = muuid->data; - new_uuid->size = muuid->size; - } - - return 0; -} - -static inline void ocf_metadata_clear_core_uuid(ocf_core_t core) -{ - struct ocf_volume_uuid uuid = { .size = 0, }; - - ocf_metadata_set_core_uuid(core, &uuid, NULL); -} - -#endif /* UTILS_MEM_H_ */ diff --git a/tests/unit/tests/mngt/ocf_mngt_cache.c/_cache_mng_set_cache_mode_test.c b/tests/unit/tests/mngt/ocf_mngt_cache.c/_cache_mng_set_cache_mode_test.c index 61b1920..ec883a8 100644 --- a/tests/unit/tests/mngt/ocf_mngt_cache.c/_cache_mng_set_cache_mode_test.c +++ b/tests/unit/tests/mngt/ocf_mngt_cache.c/_cache_mng_set_cache_mode_test.c @@ -31,7 +31,6 @@ #include "../engine/cache_engine.h" #include "../utils/utils_part.h" #include "../utils/utils_cache_line.h" -#include "../utils/utils_device.h" #include "../utils/utils_io.h" #include "../utils/utils_cache_line.h" #include "../utils/utils_pipeline.h" diff --git a/tests/unit/tests/mngt/ocf_mngt_cache.c/ocf_mngt_cache_set_fallback_pt_error_threshold.c b/tests/unit/tests/mngt/ocf_mngt_cache.c/ocf_mngt_cache_set_fallback_pt_error_threshold.c index 996ceee..f924954 100644 --- a/tests/unit/tests/mngt/ocf_mngt_cache.c/ocf_mngt_cache_set_fallback_pt_error_threshold.c +++ b/tests/unit/tests/mngt/ocf_mngt_cache.c/ocf_mngt_cache_set_fallback_pt_error_threshold.c @@ -26,7 +26,6 @@ #include "../engine/cache_engine.h" #include "../utils/utils_part.h" #include "../utils/utils_cache_line.h" -#include "../utils/utils_device.h" #include "../utils/utils_io.h" #include "../utils/utils_cache_line.h" #include "../utils/utils_pipeline.h"