diff options
author | Joe Thornber <thornber@redhat.com> | 2011-10-31 16:19:11 -0400 |
---|---|---|
committer | Alasdair G Kergon <agk@redhat.com> | 2011-10-31 16:19:11 -0400 |
commit | 3241b1d3e0aaafbfcd320f4d71ade629728cc4f4 (patch) | |
tree | 499461f724d4db3d7118641f4a20f5be23549edd /drivers/md/persistent-data/dm-space-map-metadata.h | |
parent | 95d402f057f2e208e4631893f6cd4a59c7c05e41 (diff) |
dm: add persistent data library
The persistent-data library offers a re-usable framework for the storage
and management of on-disk metadata in device-mapper targets.
It's used by the thin-provisioning target in the next patch and in an
upcoming hierarchical storage target.
For further information, please read
Documentation/device-mapper/persistent-data.txt
Signed-off-by: Joe Thornber <thornber@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Diffstat (limited to 'drivers/md/persistent-data/dm-space-map-metadata.h')
-rw-r--r-- | drivers/md/persistent-data/dm-space-map-metadata.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/drivers/md/persistent-data/dm-space-map-metadata.h b/drivers/md/persistent-data/dm-space-map-metadata.h new file mode 100644 index 000000000000..39bba0801cf2 --- /dev/null +++ b/drivers/md/persistent-data/dm-space-map-metadata.h | |||
@@ -0,0 +1,33 @@ | |||
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 */ | ||