xref: /spdk/lib/ftl/upgrade/ftl_sb_v3.h (revision 9f42898ac3c433ad69b6701274c4ed3305fa61c5)
1fa1fc76cSLukasz Lasek /*   SPDX-License-Identifier: BSD-3-Clause
2fa1fc76cSLukasz Lasek  *   Copyright (C) 2022 Intel Corporation.
3fa1fc76cSLukasz Lasek  *   All rights reserved.
4fa1fc76cSLukasz Lasek  */
5fa1fc76cSLukasz Lasek 
6fa1fc76cSLukasz Lasek #ifndef FTL_SB_V3_H
7fa1fc76cSLukasz Lasek #define FTL_SB_V3_H
8fa1fc76cSLukasz Lasek 
9fa1fc76cSLukasz Lasek #include "spdk/uuid.h"
10fa1fc76cSLukasz Lasek #include "ftl_sb_common.h"
11fa1fc76cSLukasz Lasek #include "ftl_sb_current.h"
12fa1fc76cSLukasz Lasek 
13fa1fc76cSLukasz Lasek struct spdk_ftl_dev;
14fa1fc76cSLukasz Lasek struct ftl_layout_region;
15fa1fc76cSLukasz Lasek union ftl_superblock_ver;
16fa1fc76cSLukasz Lasek 
17fa1fc76cSLukasz Lasek bool ftl_superblock_v3_check_magic(union ftl_superblock_ver *sb_ver);
18fa1fc76cSLukasz Lasek 
19fa1fc76cSLukasz Lasek bool ftl_superblock_v3_md_layout_is_empty(union ftl_superblock_ver *sb_ver);
20fa1fc76cSLukasz Lasek 
21*9f42898aSLukasz Lasek bool ftl_superblock_v3_md_region_overflow(struct spdk_ftl_dev *dev,
22*9f42898aSLukasz Lasek 		struct ftl_superblock_v3_md_region *sb_reg);
23fa1fc76cSLukasz Lasek 
24fa1fc76cSLukasz Lasek int ftl_superblock_v3_md_layout_load_all(struct spdk_ftl_dev *dev);
25fa1fc76cSLukasz Lasek 
26fa1fc76cSLukasz Lasek void ftl_superblock_v3_md_layout_dump(struct spdk_ftl_dev *dev);
27fa1fc76cSLukasz Lasek 
28fa1fc76cSLukasz Lasek #endif /* FTL_SB_V3_H */
29