Add missing ocf_cache_mode_t to ocf_req_cache_mode_t conversions

Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
This commit is contained in:
Robert Baldyga 2024-07-05 16:38:43 +02:00
parent ff0551b616
commit d7fe7c05f1
3 changed files with 25 additions and 8 deletions

View File

@ -1,5 +1,6 @@
/*
* Copyright(c) 2012-2022 Intel Corporation
* Copyright(c) 2024 Huawei Technologies
* SPDX-License-Identifier: BSD-3-Clause
*/
@ -201,6 +202,8 @@ bool ocf_fallback_pt_is_on(ocf_cache_t cache)
void ocf_resolve_effective_cache_mode(ocf_cache_t cache,
ocf_core_t core, struct ocf_request *req)
{
ocf_cache_mode_t cache_mode;
if (req->d2c) {
req->cache_mode = ocf_req_cache_mode_d2c;
return;
@ -228,10 +231,13 @@ void ocf_resolve_effective_cache_mode(ocf_cache_t cache,
return;
}
req->cache_mode = ocf_user_part_get_cache_mode(cache,
ocf_user_part_class2id(cache, req->part_id));
if (!ocf_cache_mode_is_valid(req->cache_mode))
req->cache_mode = cache->conf_meta->cache_mode;
cache_mode = ocf_user_part_get_cache_mode(cache,
ocf_user_part_class2id(cache, req->part_id));
if (!ocf_cache_mode_is_valid(cache_mode))
cache_mode = cache->conf_meta->cache_mode;
req->cache_mode = ocf_cache_mode_to_req_cache_mode(cache_mode);
if (req->rw == OCF_WRITE &&
ocf_req_cache_mode_has_lazy_write(req->cache_mode) &&

View File

@ -1,5 +1,6 @@
/*
* Copyright(c) 2012-2022 Intel Corporation
* Copyright(c) 2024 Huawei Technologies
* SPDX-License-Identifier: BSD-3-Clause
*/
@ -32,6 +33,12 @@ typedef enum {
ocf_req_cache_mode_max,
} ocf_req_cache_mode_t;
static inline ocf_req_cache_mode_t ocf_cache_mode_to_req_cache_mode(
ocf_cache_mode_t mode)
{
return (ocf_req_cache_mode_t)mode;
}
typedef int (*ocf_engine_cb)(struct ocf_request *req);
struct ocf_io_if {

View File

@ -3435,6 +3435,9 @@ static void _cache_mngt_update_initial_dirty_clines(ocf_cache_t cache)
static int _cache_mngt_set_cache_mode(ocf_cache_t cache, ocf_cache_mode_t mode)
{
ocf_cache_mode_t mode_old = cache->conf_meta->cache_mode;
ocf_req_cache_mode_t req_mode = ocf_cache_mode_to_req_cache_mode(mode);
ocf_req_cache_mode_t req_mode_old =
ocf_cache_mode_to_req_cache_mode(mode_old);
/* Check if IO interface type is valid */
if (!ocf_cache_mode_is_valid(mode))
@ -3442,7 +3445,7 @@ static int _cache_mngt_set_cache_mode(ocf_cache_t cache, ocf_cache_mode_t mode)
if (mode == mode_old) {
ocf_cache_log(cache, log_info, "Cache mode '%s' is already set\n",
ocf_get_io_iface_name(mode));
ocf_get_io_iface_name(req_mode));
return 0;
}
@ -3454,14 +3457,15 @@ static int _cache_mngt_set_cache_mode(ocf_cache_t cache, ocf_cache_mode_t mode)
}
ocf_cache_log(cache, log_info, "Changing cache mode from '%s' to '%s' "
"successful\n", ocf_get_io_iface_name(mode_old),
ocf_get_io_iface_name(mode));
"successful\n", ocf_get_io_iface_name(req_mode_old),
ocf_get_io_iface_name(req_mode));
return 0;
}
int ocf_mngt_cache_set_mode(ocf_cache_t cache, ocf_cache_mode_t mode)
{
ocf_req_cache_mode_t req_mode = ocf_cache_mode_to_req_cache_mode(mode);
int result;
OCF_CHECK_NULL(cache);
@ -3478,7 +3482,7 @@ int ocf_mngt_cache_set_mode(ocf_cache_t cache, ocf_cache_mode_t mode)
result = _cache_mngt_set_cache_mode(cache, mode);
if (result) {
const char *name = ocf_get_io_iface_name(mode);
const char *name = ocf_get_io_iface_name(req_mode);
ocf_cache_log(cache, log_err, "Setting cache mode '%s' "
"failed\n", name);