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