From ed628663240e779da6a2bdf4d0f7bb573c240dfa Mon Sep 17 00:00:00 2001 From: Amir Haroush Date: Tue, 20 Jun 2023 16:33:11 +0300 Subject: [PATCH] Modify ocf_mngt_get_ram_needed to never fail Signed-off-by: Amir Haroush Signed-off-by: Robert Baldyga --- inc/ocf_mngt.h | 10 ++++------ src/mngt/ocf_mngt_cache.c | 18 +++--------------- 2 files changed, 7 insertions(+), 21 deletions(-) diff --git a/inc/ocf_mngt.h b/inc/ocf_mngt.h index 9234879..08037e6 100644 --- a/inc/ocf_mngt.h +++ b/inc/ocf_mngt.h @@ -458,14 +458,12 @@ static inline void ocf_mngt_cache_attach_config_set_default( * @brief Get amount of free RAM needed to attach cache volume * * @param[in] cache Cache handle - * @param[in] cfg Caching device configuration - * @param[out] ram_needed Amount of RAM needed in bytes + * @param[in] volume_size Volume size in bytes * - * @retval 0 Success - * @retval Non-zero Error occurred + * @retval Amount of RAM needed in bytes */ -int ocf_mngt_get_ram_needed(ocf_cache_t cache, - struct ocf_mngt_cache_device_config *cfg, uint64_t *ram_needed); +uint64_t ocf_mngt_get_ram_needed(ocf_cache_t cache, + uint64_t volume_size); /** * @brief Completion callback of cache attach operation diff --git a/src/mngt/ocf_mngt_cache.c b/src/mngt/ocf_mngt_cache.c index 7c1baa0..80490ce 100644 --- a/src/mngt/ocf_mngt_cache.c +++ b/src/mngt/ocf_mngt_cache.c @@ -1405,28 +1405,16 @@ static uint64_t _ocf_mngt_calculate_ram_needed(ocf_cache_line_size_t line_size, return min_free_ram; } -int ocf_mngt_get_ram_needed(ocf_cache_t cache, - struct ocf_mngt_cache_device_config *cfg, uint64_t *ram_needed) +uint64_t ocf_mngt_get_ram_needed(ocf_cache_t cache, + uint64_t volume_size) { ocf_cache_line_size_t line_size; - uint64_t volume_size; - int result; OCF_CHECK_NULL(cache); - OCF_CHECK_NULL(cfg); - OCF_CHECK_NULL(ram_needed); - - result = ocf_volume_open(cfg->volume, cfg->volume_params); - if (result) - return result; line_size = ocf_line_size(cache); - volume_size = ocf_volume_get_length(cfg->volume); - *ram_needed = _ocf_mngt_calculate_ram_needed(line_size, volume_size); - ocf_volume_close(cfg->volume); - - return 0; + return _ocf_mngt_calculate_ram_needed(line_size, volume_size); } /**