diff options
author | Jonathan Earl Brassow <jbrassow@redhat.com> | 2011-02-18 00:36:04 +0000 |
---|---|---|
committer | Jonathan Earl Brassow <jbrassow@redhat.com> | 2011-02-18 00:36:04 +0000 |
commit | c054e7cc564afaab3cc215834d3c36ef082181a6 (patch) | |
tree | 17870fdf1f8dd7e81bb4c83cc3fc38aa4f6f293e /lib/locking/file_locking.c | |
parent | 21849a8587b48c3cb5813f00a4d947e2a9635832 (diff) | |
download | lvm2-c054e7cc564afaab3cc215834d3c36ef082181a6.tar.gz lvm2-c054e7cc564afaab3cc215834d3c36ef082181a6.tar.xz lvm2-c054e7cc564afaab3cc215834d3c36ef082181a6.zip |
Fix for bug 677739: removing final exclusive cmirror snapshot,
results in clvmd deadlock
When a logical volume is activated exclusively in a cluster, the
local (non-cluster-aware) target is used. However, when creating
a snapshot on the exclusive LV, the resulting suspend/resume fails
to load the appropriate device-mapper table - instead loading the
cluster-aware target.
This patch adds an 'exclusive' parameter to the pertinent resume
functions to allow for the right target type to be loaded.
Diffstat (limited to 'lib/locking/file_locking.c')
-rw-r--r-- | lib/locking/file_locking.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/locking/file_locking.c b/lib/locking/file_locking.c index 68b0420b..95883b91 100644 --- a/lib/locking/file_locking.c +++ b/lib/locking/file_locking.c @@ -293,7 +293,7 @@ static int _file_lock_resource(struct cmd_context *cmd, const char *resource, switch (flags & LCK_TYPE_MASK) { case LCK_UNLOCK: log_very_verbose("Unlocking LV %s%s", resource, origin_only ? " without snapshots" : ""); - if (!lv_resume_if_active(cmd, resource, origin_only)) + if (!lv_resume_if_active(cmd, resource, origin_only, 0)) return 0; break; case LCK_NULL: |