xref: /spdk/lib/ftl/ftl_l2p_flat.h (revision ea8f5b27612fa03698a9ce3ad4bd37765d9cdfa5)
1 /*   SPDX-License-Identifier: BSD-3-Clause
2  *   Copyright (c) Intel Corporation.
3  *   All rights reserved.
4  */
5 
6 #ifndef FTL_L2P_FLAT_H
7 #define FTL_L2P_FLAT_H
8 
9 int ftl_l2p_flat_init(struct spdk_ftl_dev *dev);
10 void ftl_l2p_flat_deinit(struct spdk_ftl_dev *dev);
11 void ftl_l2p_flat_pin(struct spdk_ftl_dev *dev, struct ftl_l2p_pin_ctx *pin_ctx);
12 void ftl_l2p_flat_unpin(struct spdk_ftl_dev *dev, uint64_t lba, uint64_t count);
13 ftl_addr ftl_l2p_flat_get(struct spdk_ftl_dev *dev, uint64_t lba);
14 void ftl_l2p_flat_set(struct spdk_ftl_dev *dev, uint64_t lba, ftl_addr addr);
15 void ftl_l2p_flat_unmap(struct spdk_ftl_dev *dev, ftl_l2p_cb cb, void *cb_ctx);
16 void ftl_l2p_flat_clear(struct spdk_ftl_dev *dev, ftl_l2p_cb cb, void *cb_ctx);
17 void ftl_l2p_flat_restore(struct spdk_ftl_dev *dev, ftl_l2p_cb cb, void *cb_ctx);
18 void ftl_l2p_flat_persist(struct spdk_ftl_dev *dev, ftl_l2p_cb cb, void *cb_ctx);
19 void ftl_l2p_flat_process(struct spdk_ftl_dev *dev);
20 bool ftl_l2p_flat_is_halted(struct spdk_ftl_dev *dev);
21 void ftl_l2p_flat_halt(struct spdk_ftl_dev *dev);
22 
23 #endif /* FTL_L2P_FLAT_H */
24