mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-23 21:35:29 +03:00
lvextend: fix resizing volumes of different segtype
When resizing 2 volumes like thin-pool and it's metadata and they would be of a different type - command would be actually expecting both LVs being of a same segtype - and would throw an error in case they are different. This patch fixes is by setting a new segtype from last segment of 2nd. extented device. Also it fixes the possible 'percentage' extension setup that might have been used for 'primary' volume - while the 'secondary' LV always goes with direct size - as we do not support 'percentage' setup for them This affects maily usage of thin-pool where the extension of thin-pool data size may also lead to extension of metadata size.
This commit is contained in:
parent
2f615e73de
commit
b9926fb1be
@ -5446,6 +5446,8 @@ static struct logical_volume *_lvresize_setup_aux(struct logical_volume *lv,
|
||||
struct lv_segment *mseg = last_seg(lv);
|
||||
|
||||
lp->alloc = lv->alloc;
|
||||
lp->percent = PERCENT_NONE;
|
||||
lp->segtype = mseg->segtype;
|
||||
lp->mirrors = seg_is_mirrored(mseg) ? lv_mirror_count(lv) : 0;
|
||||
lp->resizefs = 0;
|
||||
lp->stripes = lp->mirrors ? mseg->area_count / lp->mirrors : 0;
|
||||
|
Loading…
Reference in New Issue
Block a user