xref: /spdk/lib/ftl/ftl_l2p_flat.h (revision 2dfd36772f669f340cb1bfed05389337a1799bc3)
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_process(struct spdk_ftl_dev *dev);
18 bool ftl_l2p_flat_is_halted(struct spdk_ftl_dev *dev);
19 void ftl_l2p_flat_halt(struct spdk_ftl_dev *dev);
20 
21 #endif /* FTL_L2P_FLAT_H */
22