| Joe Thornber | 3241b1d | 2011-10-31 20:19:11 +0000 | [diff] [blame] | 1 | /* | 
|  | 2 | * Copyright (C) 2011 Red Hat, Inc. | 
|  | 3 | * | 
|  | 4 | * This file is released under the GPL. | 
|  | 5 | */ | 
|  | 6 |  | 
|  | 7 | #ifndef DM_SPACE_MAP_METADATA_H | 
|  | 8 | #define DM_SPACE_MAP_METADATA_H | 
|  | 9 |  | 
|  | 10 | #include "dm-transaction-manager.h" | 
|  | 11 |  | 
|  | 12 | /* | 
|  | 13 | * Unfortunately we have to use two-phase construction due to the cycle | 
|  | 14 | * between the tm and sm. | 
|  | 15 | */ | 
|  | 16 | struct dm_space_map *dm_sm_metadata_init(void); | 
|  | 17 |  | 
|  | 18 | /* | 
|  | 19 | * Create a fresh space map. | 
|  | 20 | */ | 
|  | 21 | int dm_sm_metadata_create(struct dm_space_map *sm, | 
|  | 22 | struct dm_transaction_manager *tm, | 
|  | 23 | dm_block_t nr_blocks, | 
|  | 24 | dm_block_t superblock); | 
|  | 25 |  | 
|  | 26 | /* | 
|  | 27 | * Open from a previously-recorded root. | 
|  | 28 | */ | 
|  | 29 | int dm_sm_metadata_open(struct dm_space_map *sm, | 
|  | 30 | struct dm_transaction_manager *tm, | 
|  | 31 | void *root_le, size_t len); | 
|  | 32 |  | 
|  | 33 | #endif	/* DM_SPACE_MAP_METADATA_H */ |