[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20071012171734.GV24157@agk.fab.redhat.com>
Date: Fri, 12 Oct 2007 18:17:34 +0100
From: Alasdair G Kergon <agk@...hat.com>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: dm-devel@...hat.com, linux-kernel@...r.kernel.org,
Matthias Kaehlcke <matthias.kaehlcke@...il.com>,
Neil Brown <neilb@...e.de>
Subject: [2.6.24 PATCH 11/25] kcopyd use mutex instead of semaphore
From: Matthias Kaehlcke <matthias.kaehlcke@...il.com>
Kcopyd uses a semaphore as mutex. Use the mutex API instead of the (binary)
semaphore,
Signed-off-by: Matthias Kaehlcke <matthias.kaehlcke@...il.com>
Cc: Neil Brown <neilb@...e.de>
Signed-off-by: Alasdair G Kergon <agk@...hat.com>
Signed-off-by: Andrew Morton <akpm@...ux-foundation.org>
---
drivers/md/kcopyd.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
Index: linux-2.6.23/drivers/md/kcopyd.c
===================================================================
--- linux-2.6.23.orig/drivers/md/kcopyd.c 2007-10-12 12:36:14.000000000 +0100
+++ linux-2.6.23/drivers/md/kcopyd.c 2007-10-12 13:15:41.000000000 +0100
@@ -198,7 +198,7 @@ struct kcopyd_job {
* These fields are only used if the job has been split
* into more manageable parts.
*/
- struct semaphore lock;
+ struct mutex lock;
atomic_t sub_jobs;
sector_t progress;
};
@@ -456,7 +456,7 @@ static void segment_complete(int read_er
sector_t count = 0;
struct kcopyd_job *job = (struct kcopyd_job *) context;
- down(&job->lock);
+ mutex_lock(&job->lock);
/* update the error */
if (read_err)
@@ -480,7 +480,7 @@ static void segment_complete(int read_er
job->progress += count;
}
}
- up(&job->lock);
+ mutex_unlock(&job->lock);
if (count) {
int i;
@@ -562,7 +562,7 @@ int kcopyd_copy(struct kcopyd_client *kc
dispatch_job(job);
else {
- init_MUTEX(&job->lock);
+ mutex_init(&job->lock);
job->progress = 0;
split_job(job);
}
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists