xref: /spdk/lib/ftl/upgrade/ftl_sb_v5.h (revision 8fc78fd8776efac4fb3c6323030b7f57a7a3401a)
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