From dd95c8be4de80b954e3ae2efeed5d7d8541bc28e Mon Sep 17 00:00:00 2001 From: Piotr Debski Date: Tue, 12 Jul 2022 11:12:41 +0200 Subject: [PATCH] Add core, try-add script missing core-id parameter fix Signed-off-by: Piotr Debski --- casadm/cas_lib.c | 5 +++++ modules/cas_cache/layer_cache_management.c | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/casadm/cas_lib.c b/casadm/cas_lib.c index bbf5385..e411fa8 100644 --- a/casadm/cas_lib.c +++ b/casadm/cas_lib.c @@ -1640,6 +1640,11 @@ int add_core(unsigned int cache_id, unsigned int core_id, const char *core_devic const char *core_path; /* core path sent down to kernel */ const char *user_core_path; /* core path provided by user */ + if (try_add && core_id == OCF_CORE_ID_INVALID) { + cas_printf(LOG_ERR, "Option '--core-id' is missing\n"); + return FAILURE; + } + /* Check if core device provided is valid */ fd = open(core_device, 0); if (fd < 0) { diff --git a/modules/cas_cache/layer_cache_management.c b/modules/cas_cache/layer_cache_management.c index d235433..6c65dec 100644 --- a/modules/cas_cache/layer_cache_management.c +++ b/modules/cas_cache/layer_cache_management.c @@ -1179,7 +1179,10 @@ int cache_mngt_prepare_core_cfg(struct ocf_mngt_core_config *cfg, if (strnlen(cmd_info->core_path_name, MAX_STR_LEN) >= MAX_STR_LEN) return -OCF_ERR_INVAL; - + + if (cmd_info->try_add && cmd_info->core_id == OCF_CORE_MAX) + return -OCF_ERR_INVAL; + result = mngt_get_cache_by_id(cas_ctx, cmd_info->cache_id, &cache); if (result && result != -OCF_ERR_CACHE_NOT_EXIST) { return result;