File adapt-replace_required_area-bnc-942888.patch of Package lvm2.1005
Index: LVM2.2.02.98/lib/metadata/lv_manip.c
===================================================================
--- LVM2.2.02.98.orig/lib/metadata/lv_manip.c
+++ LVM2.2.02.98/lib/metadata/lv_manip.c
@@ -1703,7 +1703,7 @@ static void _replace_required_area(struc
* the alloc_state and reserved areas every time.
*/
if (required > alloc_state->areas[ix_pva - 1].used)
- _reserve_area(&alloc_state->areas[ix_pva - 1], pva, required, ix_pva, pva->unreserved);
+ _reserve_area(ah, alloc_state, pva, required, ix_pva, pva->unreserved);
}
static void _clear_areas(struct alloc_state *alloc_state)
@@ -1916,8 +1916,8 @@ static int _find_some_parallel_space(str
continue;
case USE_AREA:
- if((ret = check_areas_separate_tags(ah, alloc_state, ix_offset,
- ix + ix_offset, pva)) >= 0) {
+ if((ret = check_areas_separate_tags(ah, alloc_state, alloc_state->num_positional_areas,
+ ix + alloc_state->num_positional_areas, pva)) >= 0) {
_replace_required_area(ah, max_to_allocate, ret + 1,
pva, alloc_state, alloc_parms->alloc);
continue;