1*3bd94003SHeinz Mauelshagen /* SPDX-License-Identifier: GPL-2.0-only */
23241b1d3SJoe Thornber /*
33241b1d3SJoe Thornber  * Copyright (C) 2011 Red Hat, Inc.
43241b1d3SJoe Thornber  *
53241b1d3SJoe Thornber  * This file is released under the GPL.
63241b1d3SJoe Thornber  */
73241b1d3SJoe Thornber 
83241b1d3SJoe Thornber #ifndef _LINUX_DM_SPACE_MAP_DISK_H
93241b1d3SJoe Thornber #define _LINUX_DM_SPACE_MAP_DISK_H
103241b1d3SJoe Thornber 
113241b1d3SJoe Thornber #include "dm-block-manager.h"
123241b1d3SJoe Thornber 
133241b1d3SJoe Thornber struct dm_space_map;
143241b1d3SJoe Thornber struct dm_transaction_manager;
153241b1d3SJoe Thornber 
163241b1d3SJoe Thornber /*
173241b1d3SJoe Thornber  * Unfortunately we have to use two-phase construction due to the cycle
183241b1d3SJoe Thornber  * between the tm and sm.
193241b1d3SJoe Thornber  */
203241b1d3SJoe Thornber struct dm_space_map *dm_sm_disk_create(struct dm_transaction_manager *tm,
213241b1d3SJoe Thornber 				       dm_block_t nr_blocks);
223241b1d3SJoe Thornber 
233241b1d3SJoe Thornber struct dm_space_map *dm_sm_disk_open(struct dm_transaction_manager *tm,
243241b1d3SJoe Thornber 				     void *root, size_t len);
253241b1d3SJoe Thornber 
263241b1d3SJoe Thornber #endif /* _LINUX_DM_SPACE_MAP_DISK_H */
27