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>
This commit is contained in:
parent
9ba3b7f5d0
commit
1967cd5616
|
@ -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,
|
||||
|
|
Loading…
Reference in New Issue