kcopyd use mutex instead of semaphore
Alasdair G Kergon
maintainerPATCH 11/25 kcopyd use mutex instead of semaphore
From: Matthias Kaehlcke <[email protected]>
Kcopyd uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore,
Signed-off-by Matthias Kaehlcke <[email protected]>
Cc Neil Brown <[email protected]>
Signed-off-by Alasdair G Kergon <[email protected]>
Signed-off-by Andrew Morton <[email protected]>
---
drivers/md/kcopyd.c | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-)
drivers/md/kcopyd.c +4 -4
@@ -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_ersector_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 *kcdispatch_job (job); else { -init_MUTEX (&job->lock); +mutex_init (&job->lock); job->progress =0 ;split_job (job); }