44 lines
880 B
C
44 lines
880 B
C
/*
|
|
* Copyright(c) 2012-2018 Intel Corporation
|
|
* SPDX-License-Identifier: BSD-3-Clause-Clear
|
|
*/
|
|
|
|
#include "ocf/ocf.h"
|
|
#include "ocf_cache_priv.h"
|
|
#include "utils/utils_req.h"
|
|
#include "ocf_utils.h"
|
|
#include "ocf_ctx_priv.h"
|
|
|
|
int ocf_utils_init(struct ocf_ctx *ocf_ctx)
|
|
{
|
|
int result;
|
|
|
|
result = ocf_req_allocator_init(ocf_ctx);
|
|
if (result)
|
|
goto ocf_utils_init_ERROR;
|
|
|
|
ocf_ctx->resources.core_io_allocator =
|
|
env_allocator_create(sizeof(struct ocf_core_io),
|
|
"ocf_io");
|
|
if (!ocf_ctx->resources.core_io_allocator)
|
|
goto ocf_utils_init_ERROR;
|
|
|
|
return 0;
|
|
|
|
ocf_utils_init_ERROR:
|
|
|
|
ocf_utils_deinit(ocf_ctx);
|
|
|
|
return -1;
|
|
}
|
|
|
|
void ocf_utils_deinit(struct ocf_ctx *ocf_ctx)
|
|
{
|
|
ocf_req_allocator_deinit(ocf_ctx);
|
|
|
|
if (ocf_ctx->resources.core_io_allocator) {
|
|
env_allocator_destroy(ocf_ctx->resources.core_io_allocator);
|
|
ocf_ctx->resources.core_io_allocator = NULL;
|
|
}
|
|
}
|