summaryrefslogtreecommitdiffstats
path: root/lib/metadata/pv_map.c
diff options
context:
space:
mode:
authorAlasdair Kergon <agk@redhat.com>2001-12-03 16:27:16 +0000
committerAlasdair Kergon <agk@redhat.com>2001-12-03 16:27:16 +0000
commit7a61472a0a726c2f7b002bede36d6e4d65529463 (patch)
tree4c0ef6556be1ba8fac46dd8cc0e19eb4487dbcb5 /lib/metadata/pv_map.c
parentc0ca88c287cc57c45f041b163008641fae99f3ab (diff)
downloadlvm2-7a61472a0a726c2f7b002bede36d6e4d65529463.tar.gz
lvm2-7a61472a0a726c2f7b002bede36d6e4d65529463.tar.xz
lvm2-7a61472a0a726c2f7b002bede36d6e4d65529463.zip
More striping support & fixes.
Diffstat (limited to 'lib/metadata/pv_map.c')
-rw-r--r--lib/metadata/pv_map.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/lib/metadata/pv_map.c b/lib/metadata/pv_map.c
index 2075fdfe..efb8b31c 100644
--- a/lib/metadata/pv_map.c
+++ b/lib/metadata/pv_map.c
@@ -111,6 +111,11 @@ static void _insert_area(struct list *head, struct pv_area *a)
struct list *pvah;
struct pv_area *pva;
+ if (list_empty(head)) {
+ list_add(head, &a->list);
+ return;
+ }
+
list_iterate (pvah, head) {
pva = list_item(pvah, struct pv_area);
@@ -118,10 +123,8 @@ static void _insert_area(struct list *head, struct pv_area *a)
break;
}
- a->list.n = &pva->list;
- a->list.p = pva->list.p;
- pva->list.p->n = &a->list;
- pva->list.p = &a->list;
+ list_add_h(&pva->list, &a->list);
+ return;
}
static int _create_single_area(struct pool *mem, struct pv_map *pvm,