1 /* SPDX-License-Identifier: BSD-3-Clause 2 * Copyright (C) 2022 Intel Corporation. 3 * All rights reserved. 4 */ 5 6 #ifndef FTL_SB_V3_H 7 #define FTL_SB_V3_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 union ftl_superblock_ver; 16 17 bool ftl_superblock_v3_check_magic(union ftl_superblock_ver *sb_ver); 18 19 bool ftl_superblock_v3_md_layout_is_empty(union ftl_superblock_ver *sb_ver); 20 21 int ftl_superblock_v3_md_layout_build(struct spdk_ftl_dev *dev); 22 23 int ftl_superblock_v3_md_layout_load_all(struct spdk_ftl_dev *dev); 24 25 int ftl_superblock_v3_md_layout_upgrade_region(struct spdk_ftl_dev *dev, 26 struct ftl_layout_region *reg, uint32_t new_version); 27 28 void ftl_superblock_v3_md_layout_dump(struct spdk_ftl_dev *dev); 29 30 #endif /* FTL_SB_V3_H */ 31