module/ocf: improve logging callback

Change OCF logger callback to
use spdk_vlog interface,
instead of manually deciding log level and
printing messages to a FILE.

This allows user to modify logging preferences
for OCF without modifying our OCF code.

Change-Id: Ibe526c97965acb9a5e9816446354e3a200d0cc31
Signed-off-by: Vitaliy Mysak <vitaliy.mysak@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1947
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
This commit is contained in:
Vitaliy Mysak 2020-04-20 18:42:48 +02:00 committed by Tomasz Zawadzki
parent cbe9ea52d0
commit 257734a1e1

View File

@ -477,17 +477,31 @@ static int
vbdev_ocf_ctx_log_printf(ocf_logger_t logger, ocf_logger_lvl_t lvl,
const char *fmt, va_list args)
{
FILE *lfile = stdout;
int spdk_lvl;
if (lvl > log_info) {
return 0;
switch (lvl) {
case log_emerg:
case log_alert:
case log_crit:
case log_err:
spdk_lvl = SPDK_LOG_ERROR;
break;
case log_warn:
spdk_lvl = SPDK_LOG_WARN;
break;
case log_notice:
spdk_lvl = SPDK_LOG_NOTICE;
break;
case log_info:
case log_debug:
spdk_lvl = SPDK_LOG_INFO;
}
if (lvl <= log_warn) {
lfile = stderr;
}
return vfprintf(lfile, fmt, args);
spdk_vlog(spdk_lvl, NULL, -1, NULL, fmt, args);
return 0;
}
static const struct ocf_ctx_config vbdev_ocf_ctx_cfg = {