pyocf: extend metadata helpers
Signed-off-by: Jan Musial <jan.musial@intel.com>
This commit is contained in:
@@ -9,19 +9,50 @@
|
||||
#include "../src/ocf/metadata/metadata_raw.h"
|
||||
#include "../src/ocf/metadata/metadata_internal.h"
|
||||
|
||||
// get collision metadata segment start and size (excluding padding)
|
||||
uint64_t ocf_get_collision_start_page_helper(ocf_cache_t cache)
|
||||
uint64_t ocf_get_metadata_segment_start_page(ocf_cache_t cache, int segment)
|
||||
{
|
||||
struct ocf_metadata_ctrl *ctrl = cache->metadata.priv;
|
||||
struct ocf_metadata_raw *raw = &ctrl->raw_desc[metadata_segment_collision];
|
||||
struct ocf_metadata_raw *raw = &ctrl->raw_desc[segment];
|
||||
|
||||
return raw->ssd_pages_offset;
|
||||
}
|
||||
|
||||
uint64_t ocf_get_collision_page_count_helper(ocf_cache_t cache)
|
||||
uint64_t ocf_get_metadata_segment_page_count(ocf_cache_t cache, int segment)
|
||||
{
|
||||
struct ocf_metadata_ctrl *ctrl = cache->metadata.priv;
|
||||
struct ocf_metadata_raw *raw = &ctrl->raw_desc[metadata_segment_collision];
|
||||
struct ocf_metadata_raw *raw = &ctrl->raw_desc[segment];
|
||||
|
||||
return raw->ssd_pages;
|
||||
}
|
||||
|
||||
uint64_t ocf_get_metadata_segment_elems_count(ocf_cache_t cache, int segment)
|
||||
{
|
||||
struct ocf_metadata_ctrl *ctrl = cache->metadata.priv;
|
||||
struct ocf_metadata_raw *raw = &ctrl->raw_desc[segment];
|
||||
|
||||
return raw->entries;
|
||||
}
|
||||
|
||||
uint64_t ocf_get_metadata_segment_elems_per_page(ocf_cache_t cache, int segment)
|
||||
{
|
||||
struct ocf_metadata_ctrl *ctrl = cache->metadata.priv;
|
||||
struct ocf_metadata_raw *raw = &ctrl->raw_desc[segment];
|
||||
|
||||
return raw->entries_in_page;
|
||||
}
|
||||
|
||||
uint64_t ocf_get_metadata_segment_elem_size(ocf_cache_t cache, int segment)
|
||||
{
|
||||
struct ocf_metadata_ctrl *ctrl = cache->metadata.priv;
|
||||
struct ocf_metadata_raw *raw = &ctrl->raw_desc[segment];
|
||||
|
||||
return raw->entry_size;
|
||||
}
|
||||
|
||||
bool ocf_get_metadata_segment_is_flapped(ocf_cache_t cache, int segment)
|
||||
{
|
||||
struct ocf_metadata_ctrl *ctrl = cache->metadata.priv;
|
||||
struct ocf_metadata_raw *raw = &ctrl->raw_desc[segment];
|
||||
|
||||
return raw->flapping;
|
||||
}
|
||||
|
@@ -1,9 +1,13 @@
|
||||
/*
|
||||
* Copyright(c) 2022-2022 Intel Corporation
|
||||
* Copyright(c) 2022 Intel Corporation
|
||||
* SPDX-License-Identifier: BSD-3-Clause
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
uint64_t ocf_get_collision_start_page_helper(ocf_cache_t cache);
|
||||
uint64_t ocf_get_collision_page_count_helper(ocf_cache_t cache);
|
||||
uint64_t ocf_get_metadata_segment_start_page(ocf_cache_t cache, int segment);
|
||||
uint64_t ocf_get_metadata_segment_page_count(ocf_cache_t cache, int segment);
|
||||
uint64_t ocf_get_metadata_segment_elems_count(ocf_cache_t cache, int segment);
|
||||
uint64_t ocf_get_metadata_segment_elems_per_page(ocf_cache_t cache, int segment);
|
||||
uint64_t ocf_get_metadata_segment_elem_size(ocf_cache_t cache, int segment);
|
||||
bool ocf_get_metadata_segment_is_flapped(ocf_cache_t cache, int segment);
|
||||
|
Reference in New Issue
Block a user