diff --git a/casadm/cas_lib.c b/casadm/cas_lib.c index eff10fd..b596258 100644 --- a/casadm/cas_lib.c +++ b/casadm/cas_lib.c @@ -665,8 +665,7 @@ int get_core_info(int fd, int cache_id, int core_id, return SUCCESS; } -static int get_core_device(int cache_id, int core_id, - struct core_device *core, bool by_id_path) +static int get_core_device(int cache_id, int core_id, struct core_device *core, bool by_id_path) { int fd; struct kcas_core_info cmd_info; @@ -1033,20 +1032,12 @@ int start_cache(uint16_t cache_id, unsigned int cache_init, } } - check_cache_scheduler(cache_device, - cmd.cache_elevator); - - status = SUCCESS; + check_cache_scheduler(cache_device, cmd.cache_elevator); check_cache_state_incomplete(cache_id, fd); close(fd); - if (status == SUCCESS) { - cas_printf(LOG_INFO, "Successfully added cache instance %u\n", cache_id); - } else { - cas_printf(LOG_ERR, "Failed to start cache\n"); - return FAILURE; - } + cas_printf(LOG_INFO, "Successfully added cache instance %u\n", cache_id); return SUCCESS; } @@ -1826,30 +1817,18 @@ int remove_core(unsigned int cache_id, unsigned int core_id, } void check_cache_state_incomplete(int cache_id, int fd) { - struct cache_device *cache; - int i; - - for (i = 0; i < CORE_ADD_MAX_TIMEOUT; i++) { - cache = get_cache_device_by_id_fd(cache_id, fd, false); - - if (cache == NULL) { - return; - } + struct cache_device *cache = + get_cache_device_by_id_fd(cache_id, fd, false); - if (cache->core_count == cache->expected_core_count) { - if (cache->state & (1 << ocf_cache_state_incomplete)) { - cas_printf(LOG_WARNING, "WARNING: Cache is in incomplete state - at least one core is inactive\n"); - } - free(cache); - cache = NULL; - return; - } - - free(cache); - cache = NULL; + if (cache == NULL) + return; - sleep(1); + if (cache->state & (1 << ocf_cache_state_incomplete)) { + cas_printf(LOG_WARNING, "WARNING: Cache is in incomplete state - " + "at least one core is inactive\n"); } + + free(cache); } int remove_inactive_core(unsigned int cache_id, unsigned int core_id, @@ -3055,7 +3034,7 @@ int standby_activate(int cache_id, const char *cache_device) if(fd == -1) return FAILURE; - check_cache_state_incomplete(cache_id, fd); + check_cache_state_incomplete(cache_id, fd); close(fd); cas_printf(LOG_INFO, "Successfully activated cache instance %hu\n",