diff options
author | Milan Broz <mbroz@redhat.com> | 2009-06-12 08:30:19 +0000 |
---|---|---|
committer | Milan Broz <mbroz@redhat.com> | 2009-06-12 08:30:19 +0000 |
commit | 5cc66af8d65bf19949076ec8106d02d58e5faf05 (patch) | |
tree | 7384df161eb9357285795b46cbb2b411ef86ef95 /daemons/clvmd/lvm-functions.c | |
parent | 11ee855e40af0bbce6b8d1fbc4ebac72e4aac71e (diff) | |
download | lvm2-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.c | 7 |
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); |