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) 2012-2022 Intel Corporation
* Copyright(c) 2024 Huawei Technologies
* SPDX-License-Identifier: BSD-3-Clause * 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, void ocf_resolve_effective_cache_mode(ocf_cache_t cache,
ocf_core_t core, struct ocf_request *req) ocf_core_t core, struct ocf_request *req)
{ {
ocf_cache_mode_t cache_mode;
if (req->d2c) { if (req->d2c) {
req->cache_mode = ocf_req_cache_mode_d2c; req->cache_mode = ocf_req_cache_mode_d2c;
return; return;
@ -228,10 +231,13 @@ void ocf_resolve_effective_cache_mode(ocf_cache_t cache,
return; return;
} }
req->cache_mode = ocf_user_part_get_cache_mode(cache, cache_mode = ocf_user_part_get_cache_mode(cache,
ocf_user_part_class2id(cache, req->part_id)); 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; 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 && if (req->rw == OCF_WRITE &&
ocf_req_cache_mode_has_lazy_write(req->cache_mode) && ocf_req_cache_mode_has_lazy_write(req->cache_mode) &&

View File

@ -1,5 +1,6 @@
/* /*
* Copyright(c) 2012-2022 Intel Corporation * Copyright(c) 2012-2022 Intel Corporation
* Copyright(c) 2024 Huawei Technologies
* SPDX-License-Identifier: BSD-3-Clause * SPDX-License-Identifier: BSD-3-Clause
*/ */
@ -32,6 +33,12 @@ typedef enum {
ocf_req_cache_mode_max, ocf_req_cache_mode_max,
} ocf_req_cache_mode_t; } 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); typedef int (*ocf_engine_cb)(struct ocf_request *req);
struct ocf_io_if { 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) 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_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 */ /* Check if IO interface type is valid */
if (!ocf_cache_mode_is_valid(mode)) 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) { if (mode == mode_old) {
ocf_cache_log(cache, log_info, "Cache mode '%s' is already set\n", 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; 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' " ocf_cache_log(cache, log_info, "Changing cache mode from '%s' to '%s' "
"successful\n", ocf_get_io_iface_name(mode_old), "successful\n", ocf_get_io_iface_name(req_mode_old),
ocf_get_io_iface_name(mode)); ocf_get_io_iface_name(req_mode));
return 0; return 0;
} }
int ocf_mngt_cache_set_mode(ocf_cache_t cache, ocf_cache_mode_t mode) 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; int result;
OCF_CHECK_NULL(cache); 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); result = _cache_mngt_set_cache_mode(cache, mode);
if (result) { 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' " ocf_cache_log(cache, log_err, "Setting cache mode '%s' "
"failed\n", name); "failed\n", name);