Skip to content

Commit d193291

Browse files
XiaoNi87liu-song-6
authored andcommitted
md: Factor out is_md_suspended helper
This helper function will be used in next patch. It's easy for understanding. Signed-off-by: Xiao Ni <[email protected]> Signed-off-by: Song Liu <[email protected]>
1 parent 1d1f25b commit d193291

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

drivers/md/md.c

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -380,6 +380,13 @@ EXPORT_SYMBOL_GPL(md_new_event);
380380
static LIST_HEAD(all_mddevs);
381381
static DEFINE_SPINLOCK(all_mddevs_lock);
382382

383+
static bool is_md_suspended(struct mddev *mddev)
384+
{
385+
if (mddev->suspended)
386+
return true;
387+
else
388+
return false;
389+
}
383390
/* Rather than calling directly into the personality make_request function,
384391
* IO requests come here first so that we can check if the device is
385392
* being suspended pending a reconfiguration.
@@ -389,7 +396,7 @@ static DEFINE_SPINLOCK(all_mddevs_lock);
389396
*/
390397
static bool is_suspended(struct mddev *mddev, struct bio *bio)
391398
{
392-
if (mddev->suspended)
399+
if (is_md_suspended(mddev))
393400
return true;
394401
if (bio_data_dir(bio) != WRITE)
395402
return false;
@@ -434,7 +441,7 @@ void md_handle_request(struct mddev *mddev, struct bio *bio)
434441
goto check_suspended;
435442
}
436443

437-
if (atomic_dec_and_test(&mddev->active_io) && mddev->suspended)
444+
if (atomic_dec_and_test(&mddev->active_io) && is_md_suspended(mddev))
438445
wake_up(&mddev->sb_wait);
439446
}
440447
EXPORT_SYMBOL(md_handle_request);
@@ -6219,7 +6226,7 @@ EXPORT_SYMBOL_GPL(md_stop_writes);
62196226
static void mddev_detach(struct mddev *mddev)
62206227
{
62216228
md_bitmap_wait_behind_writes(mddev);
6222-
if (mddev->pers && mddev->pers->quiesce && !mddev->suspended) {
6229+
if (mddev->pers && mddev->pers->quiesce && !is_md_suspended(mddev)) {
62236230
mddev->pers->quiesce(mddev, 1);
62246231
mddev->pers->quiesce(mddev, 0);
62256232
}
@@ -8531,7 +8538,7 @@ bool md_write_start(struct mddev *mddev, struct bio *bi)
85318538
return true;
85328539
wait_event(mddev->sb_wait,
85338540
!test_bit(MD_SB_CHANGE_PENDING, &mddev->sb_flags) ||
8534-
mddev->suspended);
8541+
is_md_suspended(mddev));
85358542
if (test_bit(MD_SB_CHANGE_PENDING, &mddev->sb_flags)) {
85368543
percpu_ref_put(&mddev->writes_pending);
85378544
return false;
@@ -9259,7 +9266,7 @@ void md_check_recovery(struct mddev *mddev)
92599266
wake_up(&mddev->sb_wait);
92609267
}
92619268

9262-
if (mddev->suspended)
9269+
if (is_md_suspended(mddev))
92639270
return;
92649271

92659272
if (mddev->bitmap)

0 commit comments

Comments
 (0)