xref: /spdk/lib/ftl/upgrade/ftl_sb_v3.h (revision 8a01b4d6366393ba157b7c42f076389b9cebaafa)
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 bool ftl_superblock_v3_md_region_overflow(struct spdk_ftl_dev *dev,
22 		struct ftl_superblock_v3_md_region *sb_reg);
23 
24 int ftl_superblock_v3_md_layout_load_all(struct spdk_ftl_dev *dev);
25 
26 void ftl_superblock_v3_md_layout_dump(struct spdk_ftl_dev *dev);
27 
28 #endif /* FTL_SB_V3_H */
29