diff options
author | Alasdair Kergon <agk@redhat.com> | 2005-05-11 15:02:49 +0000 |
---|---|---|
committer | Alasdair Kergon <agk@redhat.com> | 2005-05-11 15:02:49 +0000 |
commit | 7f2def9e6dbaad36f40fc916d940834809106ce9 (patch) | |
tree | 37954b68d06b283e4a6f1de9f456ff11e798579d /lib/metadata/pv_map.h | |
parent | c64ed88c34191b62dd8ae58c76111332c61cf235 (diff) | |
download | lvm2-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.h | 14 |
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); |