mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-21 13:34:40 +03:00
When down-converting RAID1, don't activate sub-lvs between suspend/resume
of top-level LV. We can't activate sub-lv's that are being removed from a RAID1 LV while it is suspended. However, this is what was being used to have them show-up so we could remove them. 'sync_local_dev_names' is a sufficient and proper replacement and can be done after the top-level LV is resumed.
This commit is contained in:
parent
f1c2a5af58
commit
63d32fb6a6
@ -1,5 +1,6 @@
|
||||
Version 2.02.88 -
|
||||
==================================
|
||||
When down-converting RAID1, don't activate sub-lvs between suspend/resume
|
||||
Add -V as short form of --virtualsize in lvcreate.
|
||||
Fix make clean not to remove Makefile. (2.02.87)
|
||||
|
||||
|
@ -488,22 +488,9 @@ int lv_raid_change_image_count(struct logical_volume *lv,
|
||||
}
|
||||
|
||||
/*
|
||||
* Bring extracted LVs into existance, so there are no
|
||||
* conflicts for the main RAID device's resume
|
||||
* Resume original LV
|
||||
* This also resumes all other sub-lvs (including the extracted)
|
||||
*/
|
||||
if (!dm_list_empty(&removal_list)) {
|
||||
dm_list_iterate_items(lvl, &removal_list) {
|
||||
/* If top RAID was EX, use EX */
|
||||
if (lv_is_active_exclusive_locally(lv)) {
|
||||
if (!activate_lv_excl(lv->vg->cmd, lvl->lv))
|
||||
return_0;
|
||||
} else {
|
||||
if (!activate_lv(lv->vg->cmd, lvl->lv))
|
||||
return_0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!resume_lv(lv->vg->cmd, lv)) {
|
||||
log_error("Failed to resume %s/%s after committing changes",
|
||||
lv->vg->name, lv->name);
|
||||
@ -513,6 +500,7 @@ int lv_raid_change_image_count(struct logical_volume *lv,
|
||||
/*
|
||||
* Eliminate the extracted LVs
|
||||
*/
|
||||
sync_local_dev_names(lv->vg->cmd);
|
||||
if (!dm_list_empty(&removal_list)) {
|
||||
dm_list_iterate_items(lvl, &removal_list) {
|
||||
if (!deactivate_lv(lv->vg->cmd, lvl->lv))
|
||||
|
Loading…
Reference in New Issue
Block a user