Skip to content

Commit

Permalink
Merge pull request #743 from arutk/270622
Browse files Browse the repository at this point in the history
volume init/deinit enhancements
  • Loading branch information
Robert Baldyga authored Jun 28, 2022
2 parents 7cf58bb + 5a71f7c commit 8b83f0f
Show file tree
Hide file tree
Showing 4 changed files with 7 additions and 24 deletions.
18 changes: 0 additions & 18 deletions src/metadata/metadata_superblock.c
Original file line number Diff line number Diff line change
Expand Up @@ -440,23 +440,6 @@ void ocf_metadata_load_superblock_recovery(ocf_cache_t cache,
ocf_pipeline_next(pipeline);
}

static void ocf_metadata_flush_superblock_prepare(ocf_pipeline_t pipeline,
void *priv, ocf_pipeline_arg_t arg)
{
struct ocf_metadata_context *context = priv;
ocf_cache_t cache = context->cache;
ocf_core_t core;
ocf_core_id_t core_id;

/* Synchronize core objects types */
for_each_core_metadata(cache, core, core_id) {
core->conf_meta->type = ocf_ctx_get_volume_type_id(
cache->owner, core->volume.type);
}

ocf_pipeline_next(pipeline);
}

static void ocf_metadata_flush_superblock_flap(ocf_pipeline_t pipeline,
void *priv, ocf_pipeline_arg_t arg)
{
Expand Down Expand Up @@ -544,7 +527,6 @@ struct ocf_pipeline_properties ocf_metadata_flush_sb_pipeline_props = {
.priv_size = sizeof(struct ocf_metadata_context),
.finish = ocf_metadata_flush_superblock_finish,
.steps = {
OCF_PL_STEP(ocf_metadata_flush_superblock_prepare),
OCF_PL_STEP_FOREACH(ocf_metadata_calculate_crc,
ocf_metadata_flush_sb_args),
OCF_PL_STEP_FOREACH(ocf_metadata_flush_segment,
Expand Down
3 changes: 2 additions & 1 deletion src/mngt/ocf_mngt_core.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright(c) 2012-2021 Intel Corporation
* Copyright(c) 2012-2022 Intel Corporation
* SPDX-License-Identifier: BSD-3-Clause
*/

Expand Down Expand Up @@ -426,6 +426,7 @@ static void ocf_mngt_cache_add_core_insert(ocf_pipeline_t pipeline,
}

core->conf_meta->length = length;
core->conf_meta->type = cfg->volume_type;

if (ocf_cache_is_device_attached(cache)) {
result = ocf_cleaning_add_core(cache, core_id);
Expand Down
5 changes: 0 additions & 5 deletions src/ocf_composite_volume.c
Original file line number Diff line number Diff line change
Expand Up @@ -152,11 +152,6 @@ static void ocf_composite_volume_on_deinit(ocf_volume_t cvolume)
struct ocf_composite_volume *composite = ocf_volume_get_priv(cvolume);
int i;

/* priv can be NULL if this volume had been moved from. In this case
* it's the owner responsibility to deinit member volumes. */
if (!composite)
return;

for (i = 0; i < composite->members_cnt; i++)
ocf_volume_deinit(&composite->member[i].volume);
}
Expand Down
5 changes: 5 additions & 0 deletions src/ocf_volume.c
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,9 @@ int ocf_volume_init(ocf_volume_t volume, ocf_volume_type_t type,
if (!volume || !type)
return -OCF_ERR_INVAL;

if (uuid && uuid->size > OCF_VOLUME_UUID_MAX_SIZE)
return -OCF_ERR_INVAL;

priv_size = type->properties->volume_priv_size;
volume->priv = env_zalloc(priv_size, ENV_MEM_NORMAL);
if (!volume->priv)
Expand Down Expand Up @@ -161,6 +164,7 @@ void ocf_volume_deinit(ocf_volume_t volume)

env_free(volume->priv);
volume->priv = NULL;
volume->type = NULL;

if (volume->uuid_copy && volume->uuid.data) {
env_vfree(volume->uuid.data);
Expand Down Expand Up @@ -191,6 +195,7 @@ void ocf_volume_move(ocf_volume_t volume, ocf_volume_t from)
from->opened = false;
from->priv = NULL;
from->uuid.data = NULL;
from->type = NULL;
}

int ocf_volume_create(ocf_volume_t *volume, ocf_volume_type_t type,
Expand Down

0 comments on commit 8b83f0f

Please sign in to comment.