From: NeilBrown Date: Tue, 9 Sep 2014 04:20:28 +0000 (+1000) Subject: md: use wait_event() to simplify md_super_wait() X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=1967cd5616c4792ef9d3cbaafe5fbe12fc429c9e;p=linux.git md: use wait_event() to simplify md_super_wait() md_super_wait is really just wait_event() open-coded. So use the macro instead. Signed-off-by: NeilBrown --- diff --git a/drivers/md/md.c b/drivers/md/md.c index 4c72e9626effc..6be7146be5b33 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c @@ -766,14 +766,7 @@ void md_super_write(struct mddev *mddev, struct md_rdev *rdev, void md_super_wait(struct mddev *mddev) { /* wait for all superblock writes that were scheduled to complete */ - DEFINE_WAIT(wq); - for(;;) { - prepare_to_wait(&mddev->sb_wait, &wq, TASK_UNINTERRUPTIBLE); - if (atomic_read(&mddev->pending_writes)==0) - break; - schedule(); - } - finish_wait(&mddev->sb_wait, &wq); + wait_event(mddev->sb_wait, atomic_read(&mddev->pending_writes)==0); } int sync_page_io(struct md_rdev *rdev, sector_t sector, int size,