Commit c1a3cdb0 authored by Abd-Alrhman Masalkhi's avatar Abd-Alrhman Masalkhi Committed by Yu Kuai
Browse files

md/raid1: replace wait loop with wait_event_idle() in raid1_write_request()



The wait loop is equivalent to wait_event_idle(); use it to improve
readability.

Signed-off-by: default avatarAbd-Alrhman Masalkhi <abd.masalkhi@gmail.com>
Link: https://lore.kernel.org/linux-raid/20260423101303.48196-2-abd.masalkhi@gmail.com


Signed-off-by: default avatarYu Kuai <yukuai@fnnas.com>
parent f2926a53
Loading
Loading
Loading
Loading
+4 −11
Original line number Diff line number Diff line
@@ -1510,21 +1510,14 @@ static void raid1_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);
		if (bio->bi_opf & REQ_NOWAIT) {
			bio_wouldblock_error(bio);
			return;
		}
		for (;;) {
			prepare_to_wait(&conf->wait_barrier,
					&w, TASK_IDLE);
			if (!mddev->cluster_ops->area_resyncing(mddev, WRITE,
		wait_event_idle(conf->wait_barrier,
				!mddev->cluster_ops->area_resyncing(mddev, WRITE,
								    bio->bi_iter.bi_sector,
							bio_end_sector(bio)))
				break;
			schedule();
		}
		finish_wait(&conf->wait_barrier, &w);
								    bio_end_sector(bio)));
	}

	/*