[lvm-devel] [PATCH 05/10] Allow implicit "convert" to the same lock mode.

Milan Broz mbroz at redhat.com
Tue Dec 8 15:39:32 UTC 2009


(Code already not fauils if unlocking not locked resource.)

This is needed in pre/post lock_lv call, where we can
request the same lock on local node becuase of suspend call.

Signed-off-by: Milan Broz <mbroz at redhat.com>
---
 daemons/clvmd/lvm-functions.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/daemons/clvmd/lvm-functions.c b/daemons/clvmd/lvm-functions.c
index e56d11b..6f89cc3 100644
--- a/daemons/clvmd/lvm-functions.c
+++ b/daemons/clvmd/lvm-functions.c
@@ -245,6 +245,11 @@ int hold_lock(char *resource, int mode, int flags)
 
 	lvi = lookup_info(resource);
 
+	if (lvi && lvi->lock_mode == mode) {
+		DEBUGLOG("hold_lock, lock mode %d already held\n", mode);
+		return 0;
+	}
+
 	/* Only allow explicit conversions */
 	if (lvi && !(flags & LKF_CONVERT)) {
 		errno = EBUSY;
-- 
1.6.5.4




More information about the lvm-devel mailing list