summaryrefslogtreecommitdiffstats
path: root/lib/metadata/pv_map.h
diff options
context:
space:
mode:
authorAlasdair Kergon <agk@redhat.com>2005-05-11 15:02:49 +0000
committerAlasdair Kergon <agk@redhat.com>2005-05-11 15:02:49 +0000
commit7f2def9e6dbaad36f40fc916d940834809106ce9 (patch)
tree37954b68d06b283e4a6f1de9f456ff11e798579d /lib/metadata/pv_map.h
parentc64ed88c34191b62dd8ae58c76111332c61cf235 (diff)
downloadlvm2-7f2def9e6dbaad36f40fc916d940834809106ce9.tar.gz
lvm2-7f2def9e6dbaad36f40fc916d940834809106ce9.tar.xz
lvm2-7f2def9e6dbaad36f40fc916d940834809106ce9.zip
Remove lists of free PV segments.
Simplify pv_maps code and remove slow bitset algorithm.
Diffstat (limited to 'lib/metadata/pv_map.h')
-rw-r--r--lib/metadata/pv_map.h14
1 files changed, 8 insertions, 6 deletions
diff --git a/lib/metadata/pv_map.h b/lib/metadata/pv_map.h
index 0da796c7..7aa2b294 100644
--- a/lib/metadata/pv_map.h
+++ b/lib/metadata/pv_map.h
@@ -33,19 +33,21 @@ struct pv_area {
uint32_t start;
uint32_t count;
- struct list list;
+ struct list list; /* pv_map.areas */
};
struct pv_map {
- struct pv_list *pvl;
- bitset_t allocated_extents;
- struct list areas;
+ struct physical_volume *pv;
+ struct list areas; /* struct pv_areas */
struct list list;
};
-struct list *create_pv_maps(struct pool *mem,
- struct volume_group *vg, struct list *pvs);
+/*
+ * Find intersection between available_pvs and free space in VG
+ */
+struct list *create_pv_maps(struct pool *mem, struct volume_group *vg,
+ struct list *allocatable_pvs);
void consume_pv_area(struct pv_area *area, uint32_t to_go);