Skip to content

Commit

Permalink
md: Factor out is_md_suspended helper
Browse files Browse the repository at this point in the history
[ Upstream commit d193291 ]

This helper function will be used in next patch. It's easy for
understanding.

Signed-off-by: Xiao Ni <xni@redhat.com>
Signed-off-by: Song Liu <song@kernel.org>
Stable-dep-of: e24ed04 ("md: restore 'noio_flag' for the last mddev_resume()")
Signed-off-by: Sasha Levin <sashal@kernel.org>
  • Loading branch information
Xiao Ni authored and gregkh committed Sep 13, 2023
1 parent 8dcc231 commit 3db3922
Showing 1 changed file with 12 additions and 5 deletions.
17 changes: 12 additions & 5 deletions drivers/md/md.c
Expand Up @@ -368,6 +368,13 @@ EXPORT_SYMBOL_GPL(md_new_event);
static LIST_HEAD(all_mddevs);
static DEFINE_SPINLOCK(all_mddevs_lock);

static bool is_md_suspended(struct mddev *mddev)
{
if (mddev->suspended)
return true;
else
return false;
}
/* Rather than calling directly into the personality make_request function,
* IO requests come here first so that we can check if the device is
* being suspended pending a reconfiguration.
Expand All @@ -377,7 +384,7 @@ static DEFINE_SPINLOCK(all_mddevs_lock);
*/
static bool is_suspended(struct mddev *mddev, struct bio *bio)
{
if (mddev->suspended)
if (is_md_suspended(mddev))
return true;
if (bio_data_dir(bio) != WRITE)
return false;
Expand Down Expand Up @@ -422,7 +429,7 @@ void md_handle_request(struct mddev *mddev, struct bio *bio)
goto check_suspended;
}

if (atomic_dec_and_test(&mddev->active_io) && mddev->suspended)
if (atomic_dec_and_test(&mddev->active_io) && is_md_suspended(mddev))
wake_up(&mddev->sb_wait);
}
EXPORT_SYMBOL(md_handle_request);
Expand Down Expand Up @@ -6238,7 +6245,7 @@ EXPORT_SYMBOL_GPL(md_stop_writes);
static void mddev_detach(struct mddev *mddev)
{
md_bitmap_wait_behind_writes(mddev);
if (mddev->pers && mddev->pers->quiesce && !mddev->suspended) {
if (mddev->pers && mddev->pers->quiesce && !is_md_suspended(mddev)) {
mddev->pers->quiesce(mddev, 1);
mddev->pers->quiesce(mddev, 0);
}
Expand Down Expand Up @@ -8548,7 +8555,7 @@ bool md_write_start(struct mddev *mddev, struct bio *bi)
return true;
wait_event(mddev->sb_wait,
!test_bit(MD_SB_CHANGE_PENDING, &mddev->sb_flags) ||
mddev->suspended);
is_md_suspended(mddev));
if (test_bit(MD_SB_CHANGE_PENDING, &mddev->sb_flags)) {
percpu_ref_put(&mddev->writes_pending);
return false;
Expand Down Expand Up @@ -9276,7 +9283,7 @@ void md_check_recovery(struct mddev *mddev)
wake_up(&mddev->sb_wait);
}

if (mddev->suspended)
if (is_md_suspended(mddev))
return;

if (mddev->bitmap)
Expand Down

0 comments on commit 3db3922

Please sign in to comment.