[lvm-devel] master - lvmlockd: skip lockd removal check for non-lockd VGs
David Teigland
teigland at fedoraproject.org
Wed Aug 26 21:11:44 UTC 2015
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=573c4d852f4f5340353b564017d4d324c957648d
Commit: 573c4d852f4f5340353b564017d4d324c957648d
Parent: 0b137e66e4af537110082c59f88b76ca4906e6e2
Author: David Teigland <teigland at redhat.com>
AuthorDate: Wed Aug 26 16:09:59 2015 -0500
Committer: David Teigland <teigland at redhat.com>
CommitterDate: Wed Aug 26 16:09:59 2015 -0500
lvmlockd: skip lockd removal check for non-lockd VGs
---
lib/locking/lvmlockd.c | 12 ++++++++----
1 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/lib/locking/lvmlockd.c b/lib/locking/lvmlockd.c
index 45159d2..394657c 100644
--- a/lib/locking/lvmlockd.c
+++ b/lib/locking/lvmlockd.c
@@ -902,17 +902,21 @@ static int _lockd_all_lvs(struct cmd_context *cmd, struct volume_group *vg)
int lockd_free_vg_before(struct cmd_context *cmd, struct volume_group *vg,
int changing)
{
+ int lock_type_num = get_lock_type_from_string(vg->lock_type);
+
/*
* Check that no LVs are active on other hosts.
* When removing (not changing), each LV is locked
* when it is removed, they do not need checking here.
*/
- if (changing && !_lockd_all_lvs(cmd, vg)) {
- log_error("Cannot change VG %s with active LVs", vg->name);
- return 0;
+ if (lock_type_num == LOCK_TYPE_DLM || lock_type_num == LOCK_TYPE_SANLOCK) {
+ if (changing && !_lockd_all_lvs(cmd, vg)) {
+ log_error("Cannot change VG %s with active LVs", vg->name);
+ return 0;
+ }
}
- switch (get_lock_type_from_string(vg->lock_type)) {
+ switch (lock_type_num) {
case LOCK_TYPE_NONE:
case LOCK_TYPE_CLVM:
case LOCK_TYPE_DLM:
More information about the lvm-devel
mailing list