xref: /spdk/lib/ftl/ftl_sb.h (revision 1f3a6b0398dfba2d9aedea1d272e64e55d6f1af6)
1 /*   SPDX-License-Identifier: BSD-3-Clause
2  *   Copyright (c) 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 
15 bool ftl_superblock_check_magic(struct ftl_superblock *sb);
16 
17 bool ftl_superblock_md_layout_is_empty(struct ftl_superblock *sb);
18 
19 int ftl_superblock_md_layout_build(struct spdk_ftl_dev *dev);
20 
21 int ftl_superblock_md_layout_load_all(struct spdk_ftl_dev *dev);
22 
23 int ftl_superblock_md_layout_upgrade_region(struct spdk_ftl_dev *dev,
24 		struct ftl_superblock_md_region *sb_reg, uint32_t new_version);
25 
26 void ftl_superblock_md_layout_dump(struct spdk_ftl_dev *dev);
27 
28 #endif /* FTL_SB_H */
29