summaryrefslogtreecommitdiffstats
path: root/daemons/clvmd/lvm-functions.c
diff options
context:
space:
mode:
authorMilan Broz <mbroz@redhat.com>2009-06-12 08:30:19 +0000
committerMilan Broz <mbroz@redhat.com>2009-06-12 08:30:19 +0000
commit5cc66af8d65bf19949076ec8106d02d58e5faf05 (patch)
tree7384df161eb9357285795b46cbb2b411ef86ef95 /daemons/clvmd/lvm-functions.c
parent11ee855e40af0bbce6b8d1fbc4ebac72e4aac71e (diff)
downloadlvm2-5cc66af8d65bf19949076ec8106d02d58e5faf05.tar.gz
lvm2-5cc66af8d65bf19949076ec8106d02d58e5faf05.tar.xz
lvm2-5cc66af8d65bf19949076ec8106d02d58e5faf05.zip
Re-instate partial activation support in clustered mode. (mornfall)
Diffstat (limited to 'daemons/clvmd/lvm-functions.c')
-rw-r--r--daemons/clvmd/lvm-functions.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/daemons/clvmd/lvm-functions.c b/daemons/clvmd/lvm-functions.c
index 29e5e6cd..4d181b2f 100644
--- a/daemons/clvmd/lvm-functions.c
+++ b/daemons/clvmd/lvm-functions.c
@@ -145,7 +145,8 @@ static const char *decode_flags(unsigned char flags)
{
static char buf[128];
- sprintf(buf, "0x%x (%s%s)", flags,
+ sprintf(buf, "0x%x (%s%s%s)", flags,
+ flags & LCK_PARTIAL_MODE ? "PARTIAL_MODE " : "",
flags & LCK_MIRROR_NOSYNC_MODE ? "MIRROR_NOSYNC " : "",
flags & LCK_DMEVENTD_MONITOR_MODE ? "DMEVENTD_MONITOR " : "");
@@ -478,6 +479,8 @@ int do_lock_lv(unsigned char command, unsigned char lock_flags, char *resource)
if (!(lock_flags & LCK_DMEVENTD_MONITOR_MODE))
init_dmeventd_monitor(0);
+ cmd->partial_activation = (lock_flags & LCK_PARTIAL_MODE) ? 1 : 0;
+
switch (command) {
case LCK_LV_EXCLUSIVE:
status = do_activate_lv(resource, lock_flags, LKM_EXMODE);
@@ -516,6 +519,8 @@ int do_lock_lv(unsigned char command, unsigned char lock_flags, char *resource)
if (!(lock_flags & LCK_DMEVENTD_MONITOR_MODE))
init_dmeventd_monitor(DEFAULT_DMEVENTD_MONITOR);
+ cmd->partial_activation = 0;
+
/* clean the pool for another command */
dm_pool_empty(cmd->mem);
pthread_mutex_unlock(&lvm_lock);