From 072c9c19027eacb3ecbe2d56506c0acbd6ce0646 Mon Sep 17 00:00:00 2001 From: Rafal Stefanowski Date: Wed, 19 Aug 2020 03:09:05 +0200 Subject: [PATCH] Pass only needed values to _ocf_mngt_calculate_ram_needed() function Rather then passing whole structs, supply _ocf_mngt_calculate_ram_needed() with just the values it actually uses. Signed-off-by: Rafal Stefanowski --- src/mngt/ocf_mngt_cache.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/mngt/ocf_mngt_cache.c b/src/mngt/ocf_mngt_cache.c index 86b32d5..dc22da0 100644 --- a/src/mngt/ocf_mngt_cache.c +++ b/src/mngt/ocf_mngt_cache.c @@ -1043,11 +1043,9 @@ static void _ocf_mngt_init_instance_init(struct ocf_cache_attach_context *contex ocf_pipeline_next(context->pipeline); } -uint64_t _ocf_mngt_calculate_ram_needed(ocf_cache_t cache, - ocf_volume_t cache_volume) +uint64_t _ocf_mngt_calculate_ram_needed(ocf_cache_line_size_t line_size, + uint64_t volume_size) { - ocf_cache_line_size_t line_size = ocf_line_size(cache); - uint64_t volume_size = ocf_volume_get_length(cache_volume); uint64_t const_data_size; uint64_t cache_line_no; uint64_t data_per_line; @@ -1073,6 +1071,8 @@ int ocf_mngt_get_ram_needed(ocf_cache_t cache, { ocf_volume_t volume; ocf_volume_type_t type; + ocf_cache_line_size_t line_size; + uint64_t volume_size; int result; OCF_CHECK_NULL(cache); @@ -1094,7 +1094,9 @@ int ocf_mngt_get_ram_needed(ocf_cache_t cache, return result; } - *ram_needed = _ocf_mngt_calculate_ram_needed(cache, volume); + line_size = ocf_line_size(cache); + volume_size = ocf_volume_get_length(volume); + *ram_needed = _ocf_mngt_calculate_ram_needed(line_size, volume_size); ocf_volume_close(volume); ocf_volume_destroy(volume); @@ -1287,11 +1289,12 @@ static void _ocf_mngt_attach_check_ram(ocf_pipeline_t pipeline, { struct ocf_cache_attach_context *context = priv; ocf_cache_t cache = context->cache; + ocf_cache_line_size_t line_size = ocf_line_size(cache); + uint64_t volume_size = ocf_volume_get_length(&cache->device->volume); uint64_t min_free_ram; uint64_t free_ram; - min_free_ram = _ocf_mngt_calculate_ram_needed(cache, - &cache->device->volume); + min_free_ram = _ocf_mngt_calculate_ram_needed(line_size, volume_size); free_ram = env_get_free_memory();