1
0
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:
Jonathan Earl Brassow 2011-08-18 19:31:33 +00:00
parent f1c2a5af58
commit 63d32fb6a6
2 changed files with 4 additions and 15 deletions

View File

@ -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)

View File

@ -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))