diff options
| author | Ingo Molnar <mingo@elte.hu> | 2006-03-26 01:37:12 -0800 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-26 08:56:55 -0800 | 
| commit | 353ab6e97b8f209dbecc9f650f1f84e3da2a7bb1 (patch) | |
| tree | bffabd9a5a493ffd2b41dd825e71e848ca6ba6d7 /fs/lockd/svc.c | |
| parent | e655a250d5fc12b6dfe0d436180ba4a3bfffdc9f (diff) | |
[PATCH] sem2mutex: fs/
Semaphore to mutex conversion.
The conversion was generated via scripts, and the result was validated
automatically via a script as well.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Cc: Eric Van Hensbergen <ericvh@ericvh.myip.org>
Cc: Robert Love <rml@tech9.net>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: Neil Brown <neilb@cse.unsw.edu.au>
Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
Cc: Dave Kleikamp <shaggy@austin.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/lockd/svc.c')
| -rw-r--r-- | fs/lockd/svc.c | 17 | 
1 files changed, 9 insertions, 8 deletions
| diff --git a/fs/lockd/svc.c b/fs/lockd/svc.c index 5e85bde6c123..fd56c8872f34 100644 --- a/fs/lockd/svc.c +++ b/fs/lockd/svc.c @@ -25,6 +25,7 @@  #include <linux/slab.h>  #include <linux/smp.h>  #include <linux/smp_lock.h> +#include <linux/mutex.h>  #include <linux/sunrpc/types.h>  #include <linux/sunrpc/stats.h> @@ -43,13 +44,13 @@ static struct svc_program	nlmsvc_program;  struct nlmsvc_binding *		nlmsvc_ops;  EXPORT_SYMBOL(nlmsvc_ops); -static DECLARE_MUTEX(nlmsvc_sema); +static DEFINE_MUTEX(nlmsvc_mutex);  static unsigned int		nlmsvc_users;  static pid_t			nlmsvc_pid;  int				nlmsvc_grace_period;  unsigned long			nlmsvc_timeout; -static DECLARE_MUTEX_LOCKED(lockd_start); +static DECLARE_COMPLETION(lockd_start_done);  static DECLARE_WAIT_QUEUE_HEAD(lockd_exit);  /* @@ -112,7 +113,7 @@ lockd(struct svc_rqst *rqstp)  	 * Let our maker know we're running.  	 */  	nlmsvc_pid = current->pid; -	up(&lockd_start); +	complete(&lockd_start_done);  	daemonize("lockd"); @@ -215,7 +216,7 @@ lockd_up(void)  	struct svc_serv *	serv;  	int			error = 0; -	down(&nlmsvc_sema); +	mutex_lock(&nlmsvc_mutex);  	/*  	 * Unconditionally increment the user count ... this is  	 * the number of clients who _want_ a lockd process. @@ -263,7 +264,7 @@ lockd_up(void)  			"lockd_up: create thread failed, error=%d\n", error);  		goto destroy_and_out;  	} -	down(&lockd_start); +	wait_for_completion(&lockd_start_done);  	/*  	 * Note: svc_serv structures have an initial use count of 1, @@ -272,7 +273,7 @@ lockd_up(void)  destroy_and_out:  	svc_destroy(serv);  out: -	up(&nlmsvc_sema); +	mutex_unlock(&nlmsvc_mutex);  	return error;  }  EXPORT_SYMBOL(lockd_up); @@ -285,7 +286,7 @@ lockd_down(void)  {  	static int warned; -	down(&nlmsvc_sema); +	mutex_lock(&nlmsvc_mutex);  	if (nlmsvc_users) {  		if (--nlmsvc_users)  			goto out; @@ -315,7 +316,7 @@ lockd_down(void)  	recalc_sigpending();  	spin_unlock_irq(¤t->sighand->siglock);  out: -	up(&nlmsvc_sema); +	mutex_unlock(&nlmsvc_mutex);  }  EXPORT_SYMBOL(lockd_down); | 
