diff options
author | NeilBrown <neilb@suse.de> | 2014-09-09 00:20:28 -0400 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2014-10-13 22:08:28 -0400 |
commit | 1967cd5616c4792ef9d3cbaafe5fbe12fc429c9e (patch) | |
tree | 2345878c17c5e2e4e133a85902fa32680e484dc0 | |
parent | 9ba3b7f5d025915be2b8709e5fd35c9c3e9f14c6 (diff) |
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 <neilb@suse.de>
-rw-r--r-- | drivers/md/md.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c index 4c72e9626eff..6be7146be5b3 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, | |||
766 | void md_super_wait(struct mddev *mddev) | 766 | void md_super_wait(struct mddev *mddev) |
767 | { | 767 | { |
768 | /* wait for all superblock writes that were scheduled to complete */ | 768 | /* wait for all superblock writes that were scheduled to complete */ |
769 | DEFINE_WAIT(wq); | 769 | wait_event(mddev->sb_wait, atomic_read(&mddev->pending_writes)==0); |
770 | for(;;) { | ||
771 | prepare_to_wait(&mddev->sb_wait, &wq, TASK_UNINTERRUPTIBLE); | ||
772 | if (atomic_read(&mddev->pending_writes)==0) | ||
773 | break; | ||
774 | schedule(); | ||
775 | } | ||
776 | finish_wait(&mddev->sb_wait, &wq); | ||
777 | } | 770 | } |
778 | 771 | ||
779 | int sync_page_io(struct md_rdev *rdev, sector_t sector, int size, | 772 | int sync_page_io(struct md_rdev *rdev, sector_t sector, int size, |