From: agk@sourceware.org <agk@sourceware.org>
To: lvm-devel@redhat.com
Subject: LVM2/daemons/clvmd clvmd-command.c lvm-functions.c
Date: 8 Dec 2011 18:32:37 -0000 [thread overview]
Message-ID: <20111208183237.15966.qmail@sourceware.org> (raw)
CVSROOT: /cvs/lvm2
Module name: LVM2
Changes by: agk at sourceware.org 2011-12-08 18:32:34
Modified files:
daemons/clvmd : clvmd-command.c lvm-functions.c
Log message:
Test for LCK_CLUSTER_VG directly in args[0].
Drop unused LCK_LOCAL from debug msg.
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/daemons/clvmd/clvmd-command.c.diff?cvsroot=lvm2&r1=1.61&r2=1.62
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/daemons/clvmd/lvm-functions.c.diff?cvsroot=lvm2&r1=1.126&r2=1.127
--- LVM2/daemons/clvmd/clvmd-command.c 2011/09/26 07:51:24 1.61
+++ LVM2/daemons/clvmd/clvmd-command.c 2011/12/08 18:32:33 1.62
@@ -120,7 +120,7 @@
case CLVMD_CMD_LOCK_LV:
/* This is the biggie */
- lock_cmd = args[0] & (LCK_NONBLOCK | LCK_HOLD | LCK_SCOPE_MASK | LCK_TYPE_MASK);
+ lock_cmd = args[0];
lock_flags = args[1];
lockname = &args[2];
if (lock_flags & LCK_TEST_MODE)
--- LVM2/daemons/clvmd/lvm-functions.c 2011/11/30 17:00:58 1.126
+++ LVM2/daemons/clvmd/lvm-functions.c 2011/12/08 18:32:34 1.127
@@ -109,10 +109,9 @@
break;
}
- sprintf(buf, "0x%x %s (%s|%s%s%s%s%s%s)", cmdl, command, type, scope,
+ sprintf(buf, "0x%x %s (%s|%s%s%s%s%s)", cmdl, command, type, scope,
cmdl & LCK_NONBLOCK ? "|NONBLOCK" : "",
cmdl & LCK_HOLD ? "|HOLD" : "",
- cmdl & LCK_LOCAL ? "|LOCAL" : "",
cmdl & LCK_CLUSTER_VG ? "|CLUSTER_VG" : "",
cmdl & LCK_CACHE ? "|CACHE" : "");
@@ -332,7 +331,7 @@
*/
/* Activate LV exclusive or non-exclusive */
-static int do_activate_lv(char *resource, unsigned char lock_flags, int mode)
+static int do_activate_lv(char *resource, unsigned char command, unsigned char lock_flags, int mode)
{
int oldmode;
int status;
@@ -342,7 +341,7 @@
/* Is it already open ? */
oldmode = get_current_lock(resource);
- if (oldmode == mode && (lock_flags & LCK_CLUSTER_VG)) {
+ if (oldmode == mode && (command & LCK_CLUSTER_VG)) {
DEBUGLOG("do_activate_lv, lock already held at %d\n", oldmode);
return 0; /* Nothing to do */
}
@@ -365,7 +364,7 @@
* Use lock conversion only if requested, to prevent implicit conversion
* of exclusive lock to shared one during activation.
*/
- if (lock_flags & LCK_CLUSTER_VG) {
+ if (command & LCK_CLUSTER_VG) {
status = hold_lock(resource, mode, LCKF_NOQUEUE | (lock_flags & LCK_CONVERT ? LCKF_CONVERT:0));
if (status) {
/* Return an LVM-sensible error for this.
@@ -405,13 +404,13 @@
}
/* Resume the LV if it was active */
-static int do_resume_lv(char *resource, unsigned char lock_flags)
+static int do_resume_lv(char *resource, unsigned char command, unsigned char lock_flags)
{
int oldmode, origin_only, exclusive, revert;
/* Is it open ? */
oldmode = get_current_lock(resource);
- if (oldmode == -1 && (lock_flags & LCK_CLUSTER_VG)) {
+ if (oldmode == -1 && (command & LCK_CLUSTER_VG)) {
DEBUGLOG("do_resume_lv, lock not already held\n");
return 0; /* We don't need to do anything */
}
@@ -426,7 +425,7 @@
}
/* Suspend the device if active */
-static int do_suspend_lv(char *resource, unsigned char lock_flags)
+static int do_suspend_lv(char *resource, unsigned char command, unsigned char lock_flags)
{
int oldmode;
struct lvinfo lvi;
@@ -434,7 +433,7 @@
/* Is it open ? */
oldmode = get_current_lock(resource);
- if (oldmode == -1 && (lock_flags & LCK_CLUSTER_VG)) {
+ if (oldmode == -1 && (command & LCK_CLUSTER_VG)) {
DEBUGLOG("do_suspend_lv, lock not already held\n");
return 0; /* Not active, so it's OK */
}
@@ -449,14 +448,14 @@
return 0;
}
-static int do_deactivate_lv(char *resource, unsigned char lock_flags)
+static int do_deactivate_lv(char *resource, unsigned char command, unsigned char lock_flags)
{
int oldmode;
int status;
/* Is it open ? */
oldmode = get_current_lock(resource);
- if (oldmode == -1 && (lock_flags & LCK_CLUSTER_VG)) {
+ if (oldmode == -1 && (command & LCK_CLUSTER_VG)) {
DEBUGLOG("do_deactivate_lock, lock not already held\n");
return 0; /* We don't need to do anything */
}
@@ -464,7 +463,7 @@
if (!lv_deactivate(cmd, resource))
return EIO;
- if (lock_flags & LCK_CLUSTER_VG) {
+ if (command & LCK_CLUSTER_VG) {
status = hold_unlock(resource);
if (status)
return errno;
@@ -529,24 +528,24 @@
switch (command & LCK_MASK) {
case LCK_LV_EXCLUSIVE:
- status = do_activate_lv(resource, lock_flags, LCK_EXCL);
+ status = do_activate_lv(resource, command, lock_flags, LCK_EXCL);
break;
case LCK_LV_SUSPEND:
- status = do_suspend_lv(resource, lock_flags);
+ status = do_suspend_lv(resource, command, lock_flags);
break;
case LCK_UNLOCK:
case LCK_LV_RESUME: /* if active */
- status = do_resume_lv(resource, lock_flags);
+ status = do_resume_lv(resource, command, lock_flags);
break;
case LCK_LV_ACTIVATE:
- status = do_activate_lv(resource, lock_flags, LCK_READ);
+ status = do_activate_lv(resource, command, lock_flags, LCK_READ);
break;
case LCK_LV_DEACTIVATE:
- status = do_deactivate_lv(resource, lock_flags);
+ status = do_deactivate_lv(resource, command, lock_flags);
break;
default:
@@ -577,7 +576,7 @@
LCKF_CONVERT is used always, local node is going to modify metadata
*/
if ((command & (LCK_SCOPE_MASK | LCK_TYPE_MASK)) == LCK_LV_SUSPEND &&
- (lock_flags & LCK_CLUSTER_VG)) {
+ (command & LCK_CLUSTER_VG)) {
DEBUGLOG("pre_lock_lv: resource '%s', cmd = %s, flags = %s\n",
resource, decode_locking_cmd(command), decode_flags(lock_flags));
@@ -596,7 +595,7 @@
/* Opposite of above, done on resume after a metadata update */
if ((command & (LCK_SCOPE_MASK | LCK_TYPE_MASK)) == LCK_LV_RESUME &&
- (lock_flags & LCK_CLUSTER_VG)) {
+ (command & LCK_CLUSTER_VG)) {
int oldmode;
DEBUGLOG
next reply other threads:[~2011-12-08 18:32 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-12-08 18:32 agk [this message]
-- strict thread matches above, loose matches on Subject: below --
2011-06-03 9:05 LVM2/daemons/clvmd clvmd-command.c lvm-functions.c prajnoha
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20111208183237.15966.qmail@sourceware.org \
--to=agk@sourceware.org \
--cc=lvm-devel@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.