mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-21 13:34:40 +03:00
raid: setup LV size earlier
New validation code which does require to not store LV with no size (no segments) revealed this size setup code needs to happen earlier.
This commit is contained in:
parent
3efd1f9c6e
commit
2b6391538c
@ -4028,6 +4028,15 @@ static int _lv_extend_layered_lv(struct alloc_handle *ah,
|
|||||||
fa += stripes;
|
fa += stripes;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
seg->len += extents;
|
||||||
|
if (seg_is_raid(seg))
|
||||||
|
seg->area_len = seg->len;
|
||||||
|
else
|
||||||
|
seg->area_len += extents / area_multiple;
|
||||||
|
|
||||||
|
if (!_setup_lv_size(lv, lv->le_count + extents))
|
||||||
|
return_0;
|
||||||
|
|
||||||
if (clear_metadata) {
|
if (clear_metadata) {
|
||||||
/*
|
/*
|
||||||
* We must clear the metadata areas upon creation.
|
* We must clear the metadata areas upon creation.
|
||||||
@ -4092,15 +4101,6 @@ static int _lv_extend_layered_lv(struct alloc_handle *ah,
|
|||||||
lv_set_hidden(seg_metalv(seg, s));
|
lv_set_hidden(seg_metalv(seg, s));
|
||||||
}
|
}
|
||||||
|
|
||||||
seg->len += extents;
|
|
||||||
if (seg_is_raid(seg))
|
|
||||||
seg->area_len = seg->len;
|
|
||||||
else
|
|
||||||
seg->area_len += extents / area_multiple;
|
|
||||||
|
|
||||||
if (!_setup_lv_size(lv, lv->le_count + extents))
|
|
||||||
return_0;
|
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user