[PATCH v3 5/7] md/raid10: replace wait loop with wait_event_idle()
Abd-Alrhman Masalkhi <[email protected]>
| Newsgroups | gmane.linux.raid,gmane.linux.kernel |
|---|---|
| Message-ID | <[email protected]> |
The wait loop is equivalent to wait_event_idle() and can be simplified by usaing it for improving readability. Signed-off-by: Abd-Alrhman Masalkhi <[email protected]> --- Changes in v3: - No changes. - Link to v2: https://lore.kernel.org/linux-raid/[email protected]/ Changes in v2: - No changes. - Link to v1: https://lore.kernel.org/linux-raid/[email protected]/ --- drivers/md/raid10.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c index 2574f60dd771..57813f249578 100644 --- a/drivers/md/raid10.c +++ b/drivers/md/raid10.c @@ -1362,22 +1362,17 @@ static bool raid10_write_request(struct mddev *mddev, struct bio *bio, mddev->cluster_ops->area_resyncing(mddev, WRITE, bio->bi_iter.bi_sector, bio_end_sector(bio)))) { - DEFINE_WAIT(w); /* Bail out if REQ_NOWAIT is set for the bio */ if (bio->bi_opf & REQ_NOWAIT) { bio_wouldblock_error(bio); free_r10bio(r10_bio); return false; } - for (;;) { - prepare_to_wait(&conf->wait_barrier, - &w, TASK_IDLE); - if (!mddev->cluster_ops->area_resyncing(mddev, WRITE, - bio->bi_iter.bi_sector, bio_end_sector(bio))) - break; - schedule(); - } - finish_wait(&conf->wait_barrier, &w); + + wait_event_idle(conf->wait_barrier, + !mddev->cluster_ops->area_resyncing(mddev, WRITE, + bio->bi_iter.bi_sector, + bio_end_sector(bio))); } sectors = r10_bio->sectors; -- 2.43.0