* [PATCH] DLM: Convert connections_lock in a mutex
@ 2008-05-06 20:33 Matthias Kaehlcke
2008-05-12 15:23 ` David Teigland
0 siblings, 1 reply; 2+ messages in thread
From: Matthias Kaehlcke @ 2008-05-06 20:33 UTC (permalink / raw)
To: Patrick Caulfield, David Teigland, Steven Whitehouse; +Cc: linux-kernel, akpm
Distributed Lock Manager: The semaphore connections_lock is used as a
mutex. Convert it to the mutex API.
Signed-off-by: Matthias Kaehlcke <matthias@kaehlcke.net>
--
diff --git a/fs/dlm/lowcomms.c b/fs/dlm/lowcomms.c
index 7c1e5e5..adda877 100644
--- a/fs/dlm/lowcomms.c
+++ b/fs/dlm/lowcomms.c
@@ -138,7 +138,7 @@ static struct workqueue_struct *recv_workqueue;
static struct workqueue_struct *send_workqueue;
static DEFINE_IDR(connections_idr);
-static DECLARE_MUTEX(connections_lock);
+static DEFINE_MUTEX(connections_lock);
static int max_nodeid;
static struct kmem_cache *con_cache;
@@ -205,9 +205,9 @@ static struct connection *nodeid2con(int nodeid, gfp_t allocation)
{
struct connection *con;
- down(&connections_lock);
+ mutex_lock(&connections_lock);
con = __nodeid2con(nodeid, allocation);
- up(&connections_lock);
+ mutex_unlock(&connections_lock);
return con;
}
@@ -218,15 +218,15 @@ static struct connection *assoc2con(int assoc_id)
int i;
struct connection *con;
- down(&connections_lock);
+ mutex_lock(&connections_lock);
for (i=0; i<=max_nodeid; i++) {
con = __nodeid2con(i, 0);
if (con && con->sctp_assoc == assoc_id) {
- up(&connections_lock);
+ mutex_unlock(&connections_lock);
return con;
}
}
- up(&connections_lock);
+ mutex_unlock(&connections_lock);
return NULL;
}
@@ -381,7 +381,7 @@ static void sctp_init_failed(void)
int i;
struct connection *con;
- down(&connections_lock);
+ mutex_lock(&connections_lock);
for (i=1; i<=max_nodeid; i++) {
con = __nodeid2con(i, 0);
if (!con)
@@ -393,7 +393,7 @@ static void sctp_init_failed(void)
}
}
}
- up(&connections_lock);
+ mutex_unlock(&connections_lock);
}
/* Something happened to an association */
@@ -1417,7 +1417,7 @@ void dlm_lowcomms_stop(void)
/* Set all the flags to prevent any
socket activity.
*/
- down(&connections_lock);
+ mutex_lock(&connections_lock);
for (i = 0; i <= max_nodeid; i++) {
con = __nodeid2con(i, 0);
if (con) {
@@ -1426,11 +1426,11 @@ void dlm_lowcomms_stop(void)
con->sock->sk->sk_user_data = NULL;
}
}
- up(&connections_lock);
+ mutex_unlock(&connections_lock);
work_stop();
- down(&connections_lock);
+ mutex_lock(&connections_lock);
clean_writequeues();
for (i = 0; i <= max_nodeid; i++) {
@@ -1443,7 +1443,7 @@ void dlm_lowcomms_stop(void)
}
}
max_nodeid = 0;
- up(&connections_lock);
+ mutex_unlock(&connections_lock);
kmem_cache_destroy(con_cache);
idr_init(&connections_idr);
}
--
Matthias Kaehlcke
Embedded Linux Engineer
Barcelona
I am incapable of conceiving infinity, and yet I do not accept finity
(Simone de Beauvoir)
.''`.
using free software / Debian GNU/Linux | http://debian.org : :' :
`. `'`
gpg --keyserver pgp.mit.edu --recv-keys 47D8E5D4 `-
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] DLM: Convert connections_lock in a mutex
2008-05-06 20:33 [PATCH] DLM: Convert connections_lock in a mutex Matthias Kaehlcke
@ 2008-05-12 15:23 ` David Teigland
0 siblings, 0 replies; 2+ messages in thread
From: David Teigland @ 2008-05-12 15:23 UTC (permalink / raw)
To: Matthias Kaehlcke, Patrick Caulfield, Steven Whitehouse,
linux-kernel, akpm
On Tue, May 06, 2008 at 10:33:54PM +0200, Matthias Kaehlcke wrote:
> Distributed Lock Manager: The semaphore connections_lock is used as a
> mutex. Convert it to the mutex API.
>
> Signed-off-by: Matthias Kaehlcke <matthias@kaehlcke.net>
Thanks, I've added this to dlm.git, along with the followup #include
from Andrew.
Dave
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2008-05-12 15:24 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-05-06 20:33 [PATCH] DLM: Convert connections_lock in a mutex Matthias Kaehlcke
2008-05-12 15:23 ` David Teigland
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox