summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorPeter Rajnoha <prajnoha@redhat.com>2012-09-12 09:47:40 +0200
committerPeter Rajnoha <prajnoha@redhat.com>2012-09-12 09:47:40 +0200
commit31271606265ec8f7c14734aedbb0a314dfea2cd1 (patch)
treec82a0c2121972e5138e3a01fdba1aa6a0f1ef456 /tools
parent4ededc698f32a4cbabaf70bfd3835abab866cbb9 (diff)
downloadlvm2-31271606265ec8f7c14734aedbb0a314dfea2cd1.tar.gz
lvm2-31271606265ec8f7c14734aedbb0a314dfea2cd1.tar.xz
lvm2-31271606265ec8f7c14734aedbb0a314dfea2cd1.zip
vgchange: fix -aay to activate proper volumes
Using 'activation/auto_activation_volume_list = [ "vg/lvol1" ]'. Before this patch: 3 logical volume(s) in volume group "vg" now active LV VG Attr LSize Pool Origin Data% Move Log Copy% Convert lvol0 vg -wi----- 4.00m lvol1 vg -wi-a--- 4.00m lvol2 vg -wi-a--- 4.00m lvol3 vg -wi-a--- 4.00m (vg/lvol1 activated as it passes the list and all subsequent volumes too - wrong!) With this patch: 1 logical volume(s) in volume group "vg" now active LV VG Attr LSize Pool Origin Data% Move Log Copy% Convert lvol0 vg -wi----- 4.00m lvol1 vg -wi-a--- 4.00m lvol2 vg -wi----- 4.00m lvol3 vg -wi----- 4.00m (only vg/lvol1 activated as it passes the list and no other - correct!)
Diffstat (limited to 'tools')
-rw-r--r--tools/vgchange.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/tools/vgchange.c b/tools/vgchange.c
index 34f61674..fa129f8a 100644
--- a/tools/vgchange.c
+++ b/tools/vgchange.c
@@ -131,11 +131,8 @@ static int _activate_lvs_in_vg(struct cmd_context *cmd, struct volume_group *vg,
continue;
}
- if (activate == CHANGE_AAY) {
- if (!lv_passes_auto_activation_filter(cmd, lv))
- continue;
- activate = CHANGE_ALY;
- }
+ if (activate == CHANGE_AAY && !lv_passes_auto_activation_filter(cmd, lv))
+ continue;
expected_count++;
@@ -157,7 +154,7 @@ static int _activate_lvs_in_vg(struct cmd_context *cmd, struct volume_group *vg,
stack;
continue;
}
- } else if (activate == CHANGE_ALY) {
+ } else if (activate == CHANGE_AAY || activate == CHANGE_ALY) {
if (!activate_lv_local(cmd, lv)) {
stack;
continue;