Fix metadata on disk size calculation when cleaner is disabled
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
This commit is contained in:
parent
adfa76a21a
commit
8822094f14
@ -274,6 +274,9 @@ static int ocf_metadata_calculate_metadata_size(
|
|||||||
i < metadata_segment_max; i++) {
|
i < metadata_segment_max; i++) {
|
||||||
struct ocf_metadata_raw *raw = &ctrl->raw_desc[i];
|
struct ocf_metadata_raw *raw = &ctrl->raw_desc[i];
|
||||||
|
|
||||||
|
if (raw->disabled)
|
||||||
|
continue;
|
||||||
|
|
||||||
/* Setup number of entries */
|
/* Setup number of entries */
|
||||||
raw->entries
|
raw->entries
|
||||||
= ocf_metadata_get_entries(i, cache_lines);
|
= ocf_metadata_get_entries(i, cache_lines);
|
||||||
@ -690,8 +693,7 @@ int ocf_metadata_init_variable_size(struct ocf_cache *cache,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (i == metadata_segment_cleaning && cleaner_disabled) {
|
if (i == metadata_segment_cleaning && cleaner_disabled) {
|
||||||
raw->entry_size = 0;
|
raw->disabled = true;
|
||||||
raw->entries_in_page = 1;
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -722,7 +724,9 @@ int ocf_metadata_init_variable_size(struct ocf_cache *cache,
|
|||||||
*/
|
*/
|
||||||
for (i = metadata_segment_variable_size_start;
|
for (i = metadata_segment_variable_size_start;
|
||||||
i < metadata_segment_max; i++) {
|
i < metadata_segment_max; i++) {
|
||||||
if (i == metadata_segment_cleaning && cleaner_disabled)
|
struct ocf_metadata_raw *raw = &ctrl->raw_desc[i];
|
||||||
|
|
||||||
|
if (raw->disabled)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (i == metadata_segment_collision) {
|
if (i == metadata_segment_collision) {
|
||||||
@ -737,7 +741,7 @@ int ocf_metadata_init_variable_size(struct ocf_cache *cache,
|
|||||||
result |= ocf_metadata_segment_init(
|
result |= ocf_metadata_segment_init(
|
||||||
&ctrl->segment[i],
|
&ctrl->segment[i],
|
||||||
cache,
|
cache,
|
||||||
&ctrl->raw_desc[i],
|
raw,
|
||||||
lock_page, unlock_page,
|
lock_page, unlock_page,
|
||||||
superblock);
|
superblock);
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright(c) 2012-2021 Intel Corporation
|
* Copyright(c) 2012-2022 Intel Corporation
|
||||||
* SPDX-License-Identifier: BSD-3-Clause
|
* SPDX-License-Identifier: BSD-3-Clause
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -63,6 +63,8 @@ struct ocf_metadata_raw {
|
|||||||
enum ocf_metadata_segment_id metadata_segment; /*!< Metadata segment */
|
enum ocf_metadata_segment_id metadata_segment; /*!< Metadata segment */
|
||||||
enum ocf_metadata_raw_type raw_type; /*!< RAW implementation type */
|
enum ocf_metadata_raw_type raw_type; /*!< RAW implementation type */
|
||||||
|
|
||||||
|
bool disabled; /*!< True if this raw container is disabled */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @name Metdata elements description
|
* @name Metdata elements description
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user