[2.6.24 PATCH 11/25] kcopyd use mutex instead of semaphore

From: Alasdair G Kergon
Date: Fri Oct 12 2007 - 13:17:57 EST


From: Matthias Kaehlcke <matthias.kaehlcke@xxxxxxxxx>

Kcopyd uses a semaphore as mutex. Use the mutex API instead of the (binary)
semaphore,

Signed-off-by: Matthias Kaehlcke <matthias.kaehlcke@xxxxxxxxx>
Cc: Neil Brown <neilb@xxxxxxx>
Signed-off-by: Alasdair G Kergon <agk@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
---

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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/