[lvm-devel] master - activation: lv_activation_skip remove always same arg.
Zdenek Kabelac
zkabelac at fedoraproject.org
Wed Feb 19 10:51:13 UTC 2014
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=c71a3bcbc07c277b277201425567f7e0864f3819
Commit: c71a3bcbc07c277b277201425567f7e0864f3819
Parent: 750a310a40c09cd222d52299f2d682082d6a133c
Author: Zdenek Kabelac <zkabelac at redhat.com>
AuthorDate: Wed Feb 19 11:02:16 2014 +0100
Committer: Zdenek Kabelac <zkabelac at redhat.com>
CommitterDate: Wed Feb 19 11:33:39 2014 +0100
activation: lv_activation_skip remove always same arg.
Remove 'skip' argument passed into the function.
We always used '0' - as this is the only supported
option (-K) and there is no complementary option.
Also add some testing for behaviour of skipping.
---
WHATS_NEW | 1 +
lib/metadata/lv_manip.c | 9 +++------
lib/metadata/metadata-exported.h | 2 +-
test/shell/activation-skip.sh | 32 ++++++++++++++++++++++++++++++++
tools/lvchange.c | 2 +-
tools/vgchange.c | 2 +-
6 files changed, 39 insertions(+), 9 deletions(-)
diff --git a/WHATS_NEW b/WHATS_NEW
index 5bb37d8..c081898 100644
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,5 +1,6 @@
Version 2.02.106 -
====================================
+ Remove (always 0) skip argument from lv_activation_skip().
Create /dev/disk/by-id/lvm-pv-uuid-<PV_UUID> symlink for each PV via udev.
lvcreate computes RAID4/5/6 stripes if not given from # of allocatable PVs.
Fix merging of old snapshot into thin volume origin.
diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c
index d0ae11e..5d49a70 100644
--- a/lib/metadata/lv_manip.c
+++ b/lib/metadata/lv_manip.c
@@ -5673,11 +5673,11 @@ void lv_set_activation_skip(struct logical_volume *lv, int override_default,
* of the 'skip' arg supplied instead.
*/
int lv_activation_skip(struct logical_volume *lv, activation_change_t activate,
- int override_lv_skip_flag, int skip)
+ int override_lv_skip_flag)
{
if (!(lv->status & LV_ACTIVATION_SKIP) ||
!is_change_activating(activate) || /* Do not skip deactivation */
- (override_lv_skip_flag && !skip))
+ override_lv_skip_flag)
return 0;
log_verbose("ACTIVATON_SKIP flag set for LV %s/%s, skipping activation.",
@@ -6244,11 +6244,8 @@ static struct logical_volume *_lv_create_an_lv(struct volume_group *vg,
lp->activate = lv_passes_auto_activation_filter(cmd, lv) ?
CHANGE_ALY : CHANGE_ALN;
- if (lv_activation_skip(lv, lp->activate, lp->activation_skip & ACTIVATION_SKIP_IGNORE, 0)) {
- log_verbose("ACTIVATION_SKIP flag set for LV %s/%s, skipping activation.",
- lv->vg->name, lv->name);
+ if (lv_activation_skip(lv, lp->activate, lp->activation_skip & ACTIVATION_SKIP_IGNORE))
lp->activate = CHANGE_AN;
- }
/*
* For thin pools - deactivate when inactive pool is requested or
diff --git a/lib/metadata/metadata-exported.h b/lib/metadata/metadata-exported.h
index 438f5b2..3e57113 100644
--- a/lib/metadata/metadata-exported.h
+++ b/lib/metadata/metadata-exported.h
@@ -832,7 +832,7 @@ struct logical_volume *lv_create_single(struct volume_group *vg,
*/
void lv_set_activation_skip(struct logical_volume *lv, int override_default, int add_skip_flag);
int lv_activation_skip(struct logical_volume *lv, activation_change_t activate,
- int override_lv_skip_flag, int skip);
+ int override_lv_skip_flag);
/*
* Functions for layer manipulation
diff --git a/test/shell/activation-skip.sh b/test/shell/activation-skip.sh
new file mode 100644
index 0000000..7c80283
--- /dev/null
+++ b/test/shell/activation-skip.sh
@@ -0,0 +1,32 @@
+#!/bin/bash
+# Copyright (C) 2014 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing to use,
+# modify, copy, or redistribute it subject to the terms and conditions
+# of the GNU General Public License v.2.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+. lib/test
+
+# Test skip activation flag -k|--setactivationskip
+
+aux prepare_vg
+
+lvcreate -an --zero n -l 1 -n $lv1 $vg
+lvcreate -ky -K -l1 -n $lv2 $vg
+get lv_field $vg/$lv2 lv_attr | grep -- "-wi-a----k"
+
+lvchange -ay -K $vg
+check active $vg $lv1
+lvchange -an $vg
+
+lvchange -ay --setactivationskip y $vg/$lv1
+check inactive $vg $lv1
+
+get lv_field $vg/$lv1 lv_attr | grep -- "-wi------k"
+
+lvchange -ay -K $vg
+check active $vg $lv1
diff --git a/tools/lvchange.c b/tools/lvchange.c
index 5b6da56..8ceacc5 100644
--- a/tools/lvchange.c
+++ b/tools/lvchange.c
@@ -215,7 +215,7 @@ static int _lvchange_activate(struct cmd_context *cmd, struct logical_volume *lv
activate = (activation_change_t) arg_uint_value(cmd, activate_ARG, CHANGE_AY);
- if (lv_activation_skip(lv, activate, arg_count(cmd, ignoreactivationskip_ARG), 0))
+ if (lv_activation_skip(lv, activate, arg_count(cmd, ignoreactivationskip_ARG)))
return 1;
if (lv_is_cow(lv) && !lv_is_virtual_origin(origin_from_cow(lv)))
diff --git a/tools/vgchange.c b/tools/vgchange.c
index cb2d84b..e7b5e59 100644
--- a/tools/vgchange.c
+++ b/tools/vgchange.c
@@ -120,7 +120,7 @@ static int _activate_lvs_in_vg(struct cmd_context *cmd, struct volume_group *vg,
if ((lv->status & PVMOVE) && !is_change_activating(activate))
continue;
- if (lv_activation_skip(lv, activate, arg_count(cmd, ignoreactivationskip_ARG), 0))
+ if (lv_activation_skip(lv, activate, arg_count(cmd, ignoreactivationskip_ARG)))
continue;
if ((activate == CHANGE_AAY) &&
More information about the lvm-devel
mailing list