]> sourceware.org Git - lvm2.git/commitdiff
Fix locking in clvmd
authorChristine Caulfield <ccaulfie@redhat.com>
Wed, 5 Aug 2009 14:18:35 +0000 (14:18 +0000)
committerChristine Caulfield <ccaulfie@redhat.com>
Wed, 5 Aug 2009 14:18:35 +0000 (14:18 +0000)
The changes to remove LCK_NONBLOCK from the LVM locks broke clvmd because the
code was clearly wrong but working anyway! The constant was being masked rather
than the variable that was supposed to match against it.

WHATS_NEW
daemons/clvmd/lvm-functions.c

index faf658c8f188eed7a465ccf6bba0ca5d30679178..ea4899d6e997fc7882ec9e986b7fd962979f9a1d 100644 (file)
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,5 +1,6 @@
 Version 2.02.51 - 
 ================================
+  Fix locking in clvmd (2.02.50).
   Add --noudevsync option for relevant LVM tools.
   Add activation/udev_sync to lvm.conf.
   Only change LV symlinks on ACTIVATE not PRELOAD.
index eb9ad6fb38268a3b5c36e357c173d77e532d4c81..23d740c916e4fa6fc25ae9cde163769c1c48fe19 100644 (file)
@@ -479,29 +479,29 @@ int do_lock_lv(unsigned char command, unsigned char lock_flags, char *resource)
 
        cmd->partial_activation = (lock_flags & LCK_PARTIAL_MODE) ? 1 : 0;
 
-       switch (command) {
-       case LCK_LV_EXCLUSIVE & LCK_MASK:
+       switch (command & LCK_MASK) {
+       case LCK_LV_EXCLUSIVE:
                status = do_activate_lv(resource, lock_flags, LKM_EXMODE);
                break;
 
-       case LCK_LV_SUSPEND & LCK_MASK:
+       case LCK_LV_SUSPEND:
                status = do_suspend_lv(resource);
                if (!status)
                        suspended++;
                break;
 
        case LCK_UNLOCK:
-       case LCK_LV_RESUME & LCK_MASK:  /* if active */
+       case LCK_LV_RESUME:     /* if active */
                status = do_resume_lv(resource);
                if (!status)
                        suspended--;
                break;
 
-       case LCK_LV_ACTIVATE & LCK_MASK:
+       case LCK_LV_ACTIVATE:
                status = do_activate_lv(resource, lock_flags, LKM_CRMODE);
                break;
 
-       case LCK_LV_DEACTIVATE & LCK_MASK:
+       case LCK_LV_DEACTIVATE:
                status = do_deactivate_lv(resource, lock_flags);
                break;
 
This page took 0.047878 seconds and 5 git commands to generate.