Spdk/lib/ftl/ftl_sb.h
Kozlowski Mateusz 7ff285193f ftl: Add metadata upgrade framework
Added the ability for minor metadata upgrade - updating the internal
fields of metadata structures, without changing the overall layout.

Signed-off-by: Kozlowski Mateusz <mateusz.kozlowski@intel.com>
Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Change-Id: Iec98c62b45b099d6d476d486ba7e4ff6b648bb95
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/13384
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2022-09-20 19:24:26 +00:00

29 lines
728 B
C

/* SPDX-License-Identifier: BSD-3-Clause
* Copyright (c) Intel Corporation.
* All rights reserved.
*/
#ifndef FTL_SB_H
#define FTL_SB_H
#include "spdk/uuid.h"
#include "ftl_sb_common.h"
#include "ftl_sb_current.h"
struct spdk_ftl_dev;
bool ftl_superblock_check_magic(struct ftl_superblock *sb);
bool ftl_superblock_md_layout_is_empty(struct ftl_superblock *sb);
int ftl_superblock_md_layout_build(struct spdk_ftl_dev *dev);
int ftl_superblock_md_layout_load_all(struct spdk_ftl_dev *dev);
int ftl_superblock_md_layout_upgrade_region(struct spdk_ftl_dev *dev,
struct ftl_superblock_md_region *sb_reg, uint32_t new_version);
void ftl_superblock_md_layout_dump(struct spdk_ftl_dev *dev);
#endif /* FTL_SB_H */