Merge pull request #475 from mmichal10/fix-ioclass-config
Return error when modifying default ioclass rule
This commit is contained in:
commit
e321497ecc
@ -135,9 +135,17 @@ static int _ocf_mngt_io_class_configure(ocf_cache_t cache,
|
||||
if (part_id == PARTITION_DEFAULT) {
|
||||
/* Special behavior for default partition */
|
||||
|
||||
if (env_strncmp(name, OCF_IO_CLASS_NAME_MAX,
|
||||
dest_part->config->name, OCF_IO_CLASS_NAME_MAX)) {
|
||||
ocf_cache_log(cache, log_err,
|
||||
"Can't change classification rule of the default IO class"
|
||||
" [ ERROR ]\n");
|
||||
return -OCF_ERR_INVAL;
|
||||
}
|
||||
|
||||
/* Try set partition size */
|
||||
if (_ocf_mngt_set_partition_size(cache, part_id, min, max)) {
|
||||
ocf_cache_log(cache, log_info,
|
||||
ocf_cache_log(cache, log_err,
|
||||
"Setting IO class size, id: %u, name: '%s', max size: %u%%"
|
||||
" [ ERROR ]\n", part_id, dest_part->config->name, max);
|
||||
return -OCF_ERR_INVAL;
|
||||
@ -161,7 +169,7 @@ static int _ocf_mngt_io_class_configure(ocf_cache_t cache,
|
||||
|
||||
/* Try set partition size */
|
||||
if (_ocf_mngt_set_partition_size(cache, part_id, min, max)) {
|
||||
ocf_cache_log(cache, log_info,
|
||||
ocf_cache_log(cache, log_err,
|
||||
"Setting IO class size, id: %u, name: '%s', max size %u%%"
|
||||
"[ ERROR ]\n", part_id, dest_part->config->name, max);
|
||||
return -OCF_ERR_INVAL;
|
||||
|
@ -146,6 +146,11 @@ class UnitTestsSourcesGenerator(object):
|
||||
wrap_file_path = wrap_file_path + "_generated_wraps.c"
|
||||
return wrap_file_path
|
||||
|
||||
def is_env_function(self, name):
|
||||
prefixes = ["env", "bug", "memcpy", "memset", "memcmp", "strnlen", "strncmp", "strncpy"]
|
||||
|
||||
return list(filter(name.startswith, prefixes)) != []
|
||||
|
||||
def prepare_autowraps(self, test_file_path, preprocessed_file_path):
|
||||
functions_to_wrap = self.get_functions_calls(
|
||||
self.get_sources_to_test_repo() + test_file_path)
|
||||
@ -160,10 +165,7 @@ class UnitTestsSourcesGenerator(object):
|
||||
with open(preprocessed_file_path) as f:
|
||||
code = f.readlines()
|
||||
for function in functions_to_wrap:
|
||||
if function.startswith("env_") or function.startswith("bug") \
|
||||
or function.startswith("memcpy"):
|
||||
# added memcpy function to list of ignored functions
|
||||
# because this is macro
|
||||
if self.is_env_function(function):
|
||||
continue
|
||||
for tag in tags_list:
|
||||
if function in tag:
|
||||
|
@ -95,7 +95,7 @@ static inline void setup_valid_config(struct ocf_mngt_io_class_config *cfg,
|
||||
int i;
|
||||
for (i = 0; i < OCF_IO_CLASS_MAX; i++) {
|
||||
cfg[i].class_id = i;
|
||||
cfg[i].name = remove ? NULL : "test_io_class_name" ;
|
||||
cfg[i].name = remove ? NULL : i == 0 ? "unclassified" :"test_io_class_name" ;
|
||||
cfg[i].prio = i;
|
||||
cfg[i].cache_mode = ocf_cache_mode_pt;
|
||||
cfg[i].max_size = 20*i;
|
||||
@ -161,6 +161,8 @@ static void ocf_mngt_io_classes_configure_test02(void **state)
|
||||
cache->user_parts[i].config =
|
||||
test_malloc(sizeof(struct ocf_user_part_config));
|
||||
}
|
||||
|
||||
strcpy(cache->user_parts[0].config->name, "unclassified");
|
||||
cache->device = 1;
|
||||
|
||||
setup_valid_config(cfg.config, false);
|
||||
|
Loading…
Reference in New Issue
Block a user