From 010f30eeaf30ad469db1bccbad591fe1fcb22dcd Mon Sep 17 00:00:00 2001 From: Jan Musial Date: Mon, 13 Sep 2021 12:53:10 +0200 Subject: [PATCH] Validate activate parameters Signed-off-by: Jan Musial --- src/mngt/ocf_mngt_cache.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/mngt/ocf_mngt_cache.c b/src/mngt/ocf_mngt_cache.c index 771549e..be4a59f 100644 --- a/src/mngt/ocf_mngt_cache.c +++ b/src/mngt/ocf_mngt_cache.c @@ -2732,20 +2732,22 @@ void ocf_mngt_cache_activate(ocf_cache_t cache, OCF_CHECK_NULL(cache); OCF_CHECK_NULL(cfg); - if (!cache->mngt_queue) - OCF_CMPL_RET(cache, priv, -OCF_ERR_INVAL); - - /* Activate is not allowed in volatile metadata mode */ - if (cache->metadata.is_volatile) - OCF_CMPL_RET(cache, priv, -OCF_ERR_INVAL); - - /* Activate is not allowed with 'force' flag on */ if (cfg->force) { ocf_cache_log(cache, log_err, "Using 'force' flag is forbidden " "for activate operation."); OCF_CMPL_RET(cache, priv, -OCF_ERR_INVAL); } + if (cfg->cache_line_size != ocf_cache_line_size_none && + cfg->cache_line_size != cache->metadata.line_size) { + ocf_cache_log(cache, log_err, "Specifying cache line size is " + "forbidden for activate operation."); + OCF_CMPL_RET(cache, priv, -OCF_ERR_INVAL); + } + + if (!cache->mngt_queue) + OCF_CMPL_RET(cache, priv, -OCF_ERR_INVAL); + result = _ocf_mngt_cache_validate_device_cfg(cfg); if (result) OCF_CMPL_RET(cache, priv, result);