1 /* SPDX-License-Identifier: BSD-3-Clause 2 * Copyright (C) 2023 Solidigm. 3 * All rights reserved. 4 */ 5 6 #ifndef FTL_SB_V5_H 7 #define FTL_SB_V5_H 8 9 #include "spdk/uuid.h" 10 #include "ftl_sb_common.h" 11 #include "ftl_sb_current.h" 12 #include "upgrade/ftl_sb_prev.h" 13 14 struct spdk_ftl_dev; 15 struct ftl_layout_region; 16 union ftl_superblock_ver; 17 18 bool ftl_superblock_v5_is_blob_area_empty(union ftl_superblock_ver *sb_ver); 19 20 bool ftl_superblock_v5_validate_blob_area(struct spdk_ftl_dev *dev); 21 22 int ftl_superblock_v5_store_blob_area(struct spdk_ftl_dev *dev); 23 24 int ftl_superblock_v5_load_blob_area(struct spdk_ftl_dev *dev); 25 26 int ftl_superblock_v5_md_layout_upgrade_region(struct spdk_ftl_dev *dev, 27 struct ftl_layout_region *reg, uint32_t new_version); 28 29 int ftl_superblock_v5_md_layout_apply(struct spdk_ftl_dev *dev); 30 31 void ftl_superblock_v5_md_layout_dump(struct spdk_ftl_dev *dev); 32 33 #endif /* FTL_SB_V5_H */ 34