Skip to content

Commit

Permalink
kcopyd use mutex instead of semaphore
Browse files Browse the repository at this point in the history
Kcopyd uses a semaphore as mutex.  Use the mutex API instead of the (binary)
semaphore,

Signed-off-by: Matthias Kaehlcke <matthias.kaehlcke@gmail.com>
Cc: Neil Brown <neilb@suse.de>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
  • Loading branch information
Matthias Kaehlcke authored and Alasdair G Kergon committed Oct 20, 2007
1 parent 094262d commit def5b5b
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions drivers/md/kcopyd.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
};
Expand Down Expand Up @@ -456,7 +456,7 @@ static void segment_complete(int read_err,
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)
Expand All @@ -480,7 +480,7 @@ static void segment_complete(int read_err,
job->progress += count;
}
}
up(&job->lock);
mutex_unlock(&job->lock);

if (count) {
int i;
Expand Down Expand Up @@ -562,7 +562,7 @@ int kcopyd_copy(struct kcopyd_client *kc, struct io_region *from,
dispatch_job(job);

else {
init_MUTEX(&job->lock);
mutex_init(&job->lock);
job->progress = 0;
split_job(job);
}
Expand Down

0 comments on commit def5b5b

Please sign in to comment.