]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
md: replace wait loop with wait_event() in md_handle_request()
authorAbd-Alrhman Masalkhi <abd.masalkhi@gmail.com>
Wed, 15 Apr 2026 14:03:18 +0000 (16:03 +0200)
committerYu Kuai <yukuai@fnnas.com>
Tue, 28 Apr 2026 12:44:37 +0000 (20:44 +0800)
The wait loop is equivalent to wait_event() and can be simplified by
usaing it for improving readability.

Signed-off-by: Abd-Alrhman Masalkhi <abd.masalkhi@gmail.com>
Link: https://lore.kernel.org/r/20260415140319.376578-2-abd.masalkhi@gmail.com
Signed-off-by: Yu Kuai <yukuai@fnnas.com>
drivers/md/md.c

index 8656f2eff40d441f35dab1c10b7a861cac70424e..ebaf47fb9de6c0c8c0f3030999f10de1ee97c461 100644 (file)
@@ -396,20 +396,12 @@ bool md_handle_request(struct mddev *mddev, struct bio *bio)
 {
 check_suspended:
        if (is_suspended(mddev, bio)) {
-               DEFINE_WAIT(__wait);
                /* Bail out if REQ_NOWAIT is set for the bio */
                if (bio->bi_opf & REQ_NOWAIT) {
                        bio_wouldblock_error(bio);
                        return true;
                }
-               for (;;) {
-                       prepare_to_wait(&mddev->sb_wait, &__wait,
-                                       TASK_UNINTERRUPTIBLE);
-                       if (!is_suspended(mddev, bio))
-                               break;
-                       schedule();
-               }
-               finish_wait(&mddev->sb_wait, &__wait);
+               wait_event(mddev->sb_wait, !is_suspended(mddev, bio));
        }
        if (!percpu_ref_tryget_live(&mddev->active_io))
                goto check_suspended;