xref: /spdk/lib/ftl/mngt/ftl_mngt_steps.h (revision b16bdc6d493cc290065bcb2e6585c970fa52277a)
1e49ccfc8SArtur Paszkiewicz /*   SPDX-License-Identifier: BSD-3-Clause
2e49ccfc8SArtur Paszkiewicz  *   Copyright (c) Intel Corporation.
3e49ccfc8SArtur Paszkiewicz  *   All rights reserved.
4e49ccfc8SArtur Paszkiewicz  */
5e49ccfc8SArtur Paszkiewicz 
6e49ccfc8SArtur Paszkiewicz #ifndef FTL_MNGT_STEPS_H
7e49ccfc8SArtur Paszkiewicz #define FTL_MNGT_STEPS_H
8e49ccfc8SArtur Paszkiewicz 
9e49ccfc8SArtur Paszkiewicz #include "ftl_mngt.h"
10e49ccfc8SArtur Paszkiewicz 
11b872e29fSKozlowski Mateusz void ftl_mngt_check_conf(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt);
12b872e29fSKozlowski Mateusz 
13e49ccfc8SArtur Paszkiewicz void ftl_mngt_open_base_bdev(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt);
14e49ccfc8SArtur Paszkiewicz 
15e49ccfc8SArtur Paszkiewicz void ftl_mngt_close_base_bdev(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt);
16e49ccfc8SArtur Paszkiewicz 
17f725ca81SArtur Paszkiewicz #ifdef SPDK_FTL_VSS_EMU
18f725ca81SArtur Paszkiewicz void ftl_mngt_md_init_vss_emu(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt);
19f725ca81SArtur Paszkiewicz 
20f725ca81SArtur Paszkiewicz void ftl_mngt_md_deinit_vss_emu(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt);
21f725ca81SArtur Paszkiewicz #endif
22f725ca81SArtur Paszkiewicz 
23c6880a39SArtur Paszkiewicz void ftl_mngt_superblock_init(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt);
24c6880a39SArtur Paszkiewicz 
25c6880a39SArtur Paszkiewicz void ftl_mngt_superblock_deinit(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt);
26c6880a39SArtur Paszkiewicz 
27e49ccfc8SArtur Paszkiewicz void ftl_mngt_open_cache_bdev(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt);
28e49ccfc8SArtur Paszkiewicz 
29e49ccfc8SArtur Paszkiewicz void ftl_mngt_close_cache_bdev(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt);
30e49ccfc8SArtur Paszkiewicz 
31d9a631adSArtur Paszkiewicz void ftl_mngt_register_io_device(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt);
32d9a631adSArtur Paszkiewicz 
33d9a631adSArtur Paszkiewicz void ftl_mngt_unregister_io_device(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt);
34d9a631adSArtur Paszkiewicz 
35d9a631adSArtur Paszkiewicz void ftl_mngt_init_io_channel(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt);
36d9a631adSArtur Paszkiewicz 
37d9a631adSArtur Paszkiewicz void ftl_mngt_deinit_io_channel(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt);
38d9a631adSArtur Paszkiewicz 
39*b16bdc6dSArtur Paszkiewicz void ftl_mngt_init_l2p(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt);
40*b16bdc6dSArtur Paszkiewicz 
41*b16bdc6dSArtur Paszkiewicz void ftl_mngt_deinit_l2p(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt);
42*b16bdc6dSArtur Paszkiewicz 
43*b16bdc6dSArtur Paszkiewicz void ftl_mngt_clear_l2p(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt);
44*b16bdc6dSArtur Paszkiewicz 
455022d8f3SKozlowski Mateusz void ftl_mngt_scrub_nv_cache(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt);
465022d8f3SKozlowski Mateusz 
475022d8f3SKozlowski Mateusz void ftl_mngt_finalize_startup(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt);
485022d8f3SKozlowski Mateusz 
4917147949SArtur Paszkiewicz void ftl_mngt_start_core_poller(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt);
5017147949SArtur Paszkiewicz 
5117147949SArtur Paszkiewicz void ftl_mngt_stop_core_poller(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt);
5217147949SArtur Paszkiewicz 
532b5bba56SArtur Paszkiewicz void ftl_mngt_init_layout(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt);
542b5bba56SArtur Paszkiewicz 
557a7ac2afSArtur Paszkiewicz void ftl_mngt_init_md(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt);
567a7ac2afSArtur Paszkiewicz 
577a7ac2afSArtur Paszkiewicz void ftl_mngt_deinit_md(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt);
587a7ac2afSArtur Paszkiewicz 
59e49ccfc8SArtur Paszkiewicz void ftl_mngt_rollback_device(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt);
60e49ccfc8SArtur Paszkiewicz 
6192b5ebe0SKozlowski Mateusz void ftl_mngt_dump_stats(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt);
6292b5ebe0SKozlowski Mateusz 
63c6880a39SArtur Paszkiewicz void ftl_mngt_init_default_sb(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt);
64c6880a39SArtur Paszkiewicz 
65c6880a39SArtur Paszkiewicz void ftl_mngt_set_dirty(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt);
66c6880a39SArtur Paszkiewicz 
67e49ccfc8SArtur Paszkiewicz #endif /* FTL_MNGT_STEPS_H */
68