summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--WHATS_NEW1
-rw-r--r--tools/vgchange.c12
2 files changed, 9 insertions, 4 deletions
diff --git a/WHATS_NEW b/WHATS_NEW
index 94aadf13c..de116e5a9 100644
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,5 +1,6 @@
Version 2.00.18 - 24 June 2004
==============================
+ Fix vgchange activation.
Add cluster support.
Version 2.00.17 - 20 June 2004
diff --git a/tools/vgchange.c b/tools/vgchange.c
index 20d49d939..a9fc36272 100644
--- a/tools/vgchange.c
+++ b/tools/vgchange.c
@@ -69,25 +69,29 @@ static int _vgchange_available(struct cmd_context *cmd, struct volume_group *vg)
{
int lv_open, active;
int available;
+ int activate = 1;
available = arg_uint_value(cmd, available_ARG, 0);
+ if ((available == CHANGE_AN) || (available == CHANGE_ALN))
+ activate = 0;
+
/* FIXME: Force argument to deactivate them? */
- if (!available && (lv_open = lvs_in_vg_opened(vg))) {
+ if (!activate && (lv_open = lvs_in_vg_opened(vg))) {
log_error("Can't deactivate volume group \"%s\" with %d open "
"logical volume(s)", vg->name, lv_open);
return ECMD_FAILED;
}
- if (available && (active = lvs_in_vg_activated(vg)))
+ if (activate && (active = lvs_in_vg_activated(vg)))
log_verbose("%d logical volume(s) in volume group \"%s\" "
"already active", active, vg->name);
- if (available && _activate_lvs_in_vg(cmd, vg, available))
+ if (activate && _activate_lvs_in_vg(cmd, vg, available))
log_verbose("Activated logical volumes in "
"volume group \"%s\"", vg->name);
- if (!available && _activate_lvs_in_vg(cmd, vg, 0))
+ if (!activate && _activate_lvs_in_vg(cmd, vg, available))
log_verbose("Deactivated logical volumes in "
"volume group \"%s\"", vg->name);