diff --git a/src/metadata/metadata_partition.h b/src/metadata/metadata_partition.h index d38acd0..f9ae453 100644 --- a/src/metadata/metadata_partition.h +++ b/src/metadata/metadata_partition.h @@ -11,6 +11,7 @@ #define PARTITION_DEFAULT 0 #define PARTITION_INVALID ((ocf_part_id_t)-1) +#define PARTITION_SIZE_MIN 0 #define PARTITION_SIZE_MAX 100 void ocf_metadata_get_partition_info( diff --git a/src/mngt/ocf_mngt_io_class.c b/src/mngt/ocf_mngt_io_class.c index e0b6d7d..e348551 100644 --- a/src/mngt/ocf_mngt_io_class.c +++ b/src/mngt/ocf_mngt_io_class.c @@ -256,6 +256,13 @@ static int _ocf_mngt_io_class_validate_cfg(ocf_cache_t cache, return -OCF_ERR_INVAL; } + if (cfg->max_size < PARTITION_SIZE_MIN || + cfg->max_size > PARTITION_SIZE_MAX) { + ocf_cache_log(cache, log_info, + "Invalid value of the partition max size\n"); + return -OCF_ERR_INVAL; + } + return 0; }