mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-21 13:34:40 +03:00
Fail allocation if number of extents not divisible by area count
Allocation should fail early if this condition is not met. Quick fix for https://bugzilla.redhat.com/show_bug.cgi?id=707779
This commit is contained in:
parent
9e277b9e2c
commit
6adbb95b82
@ -1,5 +1,6 @@
|
||||
Version 2.02.86 -
|
||||
=================================
|
||||
Reject allocation if number of extents is not divisible by area count.
|
||||
Fix issue preventing cluster mirror creation.
|
||||
Disable udev fallback by default and add activation/udev_fallback to lvm.conf.
|
||||
Call vg_mark_partial_lvs() before VG structure is returned from the cache.
|
||||
|
@ -1716,6 +1716,13 @@ static int _allocate(struct alloc_handle *ah,
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (ah->area_multiple > 1 &&
|
||||
(ah->new_extents - alloc_state.allocated) % ah->area_count) {
|
||||
log_error("Number of extents requested (%d) needs to be divisible by %d.",
|
||||
ah->new_extents - alloc_state.allocated, ah->area_count);
|
||||
return 0;
|
||||
}
|
||||
|
||||
alloc_state.log_area_count_still_needed = ah->log_area_count;
|
||||
|
||||
if (ah->alloc == ALLOC_CONTIGUOUS)
|
||||
|
@ -248,3 +248,8 @@ lvconvert -m1 -i1 $vg/$lv1
|
||||
lvreduce -f -l1 $vg/$lv1
|
||||
lvextend -f -l10 $vg/$lv1
|
||||
lvremove -ff $vg/$lv1
|
||||
|
||||
# extents must be divisible
|
||||
lvcreate -l15 -n $lv1 $vg
|
||||
not lvconvert -m1 --corelog --stripes 2 $vg/$lv1
|
||||
lvremove -ff $vg/$lv1
|
||||
|
Loading…
Reference in New Issue
Block a user