1 /* SPDX-License-Identifier: BSD-3-Clause 2 * Copyright (C) 2022 Intel Corporation. 3 * All rights reserved. 4 */ 5 6 #ifndef FTL_SB_H 7 #define FTL_SB_H 8 9 #include "spdk/uuid.h" 10 #include "ftl_sb_common.h" 11 #include "ftl_sb_current.h" 12 13 struct spdk_ftl_dev; 14 struct ftl_layout_region; 15 16 bool ftl_superblock_check_magic(struct ftl_superblock *sb); 17 18 bool ftl_superblock_is_blob_area_empty(struct ftl_superblock *sb); 19 20 bool ftl_superblock_validate_blob_area(struct spdk_ftl_dev *dev); 21 22 int ftl_superblock_store_blob_area(struct spdk_ftl_dev *dev); 23 24 int ftl_superblock_load_blob_area(struct spdk_ftl_dev *dev); 25 26 int ftl_superblock_md_layout_upgrade_region(struct spdk_ftl_dev *dev, 27 struct ftl_layout_region *reg, uint32_t new_version); 28 29 int ftl_superblock_md_layout_apply(struct spdk_ftl_dev *dev); 30 31 void ftl_superblock_md_layout_dump(struct spdk_ftl_dev *dev); 32 33 #endif /* FTL_SB_H */ 34