mirror of
https://github.com/torvalds/linux.git
synced 2026-06-05 04:56:13 +02:00
md: replace wait loop with wait_event() in md_handle_request()
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>
This commit is contained in:
parent
9aa6d860b0
commit
8e8278ac70
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user