Skip to content

Commit df79234

Browse files
YuKuai-huaweiliu-song-6
authored andcommitted
md: remove parameter check_seq for stop_sync_thread()
Caller will always set MD_RECOVERY_FROZEN if check_seq is true, and always clear MD_RECOVERY_FROZEN if check_seq is false, hence replace the parameter with test_bit() to make code cleaner. Signed-off-by: Yu Kuai <[email protected]> Signed-off-by: Song Liu <[email protected]> Link: https://lore.kernel.org/r/[email protected]
1 parent c8ecfe6 commit df79234

File tree

1 file changed

+11
-15
lines changed

1 file changed

+11
-15
lines changed

drivers/md/md.c

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4961,15 +4961,10 @@ action_show(struct mddev *mddev, char *page)
49614961
* @locked: if set, reconfig_mutex will still be held after this function
49624962
* return; if not set, reconfig_mutex will be released after this
49634963
* function return.
4964-
* @check_seq: if set, only wait for curent running sync_thread to stop, noted
4965-
* that new sync_thread can still start.
49664964
*/
4967-
static void stop_sync_thread(struct mddev *mddev, bool locked, bool check_seq)
4965+
static void stop_sync_thread(struct mddev *mddev, bool locked)
49684966
{
4969-
int sync_seq;
4970-
4971-
if (check_seq)
4972-
sync_seq = atomic_read(&mddev->sync_seq);
4967+
int sync_seq = atomic_read(&mddev->sync_seq);
49734968

49744969
if (!test_bit(MD_RECOVERY_RUNNING, &mddev->recovery)) {
49754970
if (!locked)
@@ -4990,7 +4985,8 @@ static void stop_sync_thread(struct mddev *mddev, bool locked, bool check_seq)
49904985

49914986
wait_event(resync_wait,
49924987
!test_bit(MD_RECOVERY_RUNNING, &mddev->recovery) ||
4993-
(check_seq && sync_seq != atomic_read(&mddev->sync_seq)));
4988+
(!test_bit(MD_RECOVERY_FROZEN, &mddev->recovery) &&
4989+
sync_seq != atomic_read(&mddev->sync_seq)));
49944990

49954991
if (locked)
49964992
mddev_lock_nointr(mddev);
@@ -5001,7 +4997,7 @@ void md_idle_sync_thread(struct mddev *mddev)
50014997
lockdep_assert_held(&mddev->reconfig_mutex);
50024998

50034999
clear_bit(MD_RECOVERY_FROZEN, &mddev->recovery);
5004-
stop_sync_thread(mddev, true, true);
5000+
stop_sync_thread(mddev, true);
50055001
}
50065002
EXPORT_SYMBOL_GPL(md_idle_sync_thread);
50075003

@@ -5010,7 +5006,7 @@ void md_frozen_sync_thread(struct mddev *mddev)
50105006
lockdep_assert_held(&mddev->reconfig_mutex);
50115007

50125008
set_bit(MD_RECOVERY_FROZEN, &mddev->recovery);
5013-
stop_sync_thread(mddev, true, false);
5009+
stop_sync_thread(mddev, true);
50145010
}
50155011
EXPORT_SYMBOL_GPL(md_frozen_sync_thread);
50165012

@@ -5035,7 +5031,7 @@ static void idle_sync_thread(struct mddev *mddev)
50355031
return;
50365032
}
50375033

5038-
stop_sync_thread(mddev, false, true);
5034+
stop_sync_thread(mddev, false);
50395035
mutex_unlock(&mddev->sync_mutex);
50405036
}
50415037

@@ -5049,7 +5045,7 @@ static void frozen_sync_thread(struct mddev *mddev)
50495045
return;
50505046
}
50515047

5052-
stop_sync_thread(mddev, false, false);
5048+
stop_sync_thread(mddev, false);
50535049
mutex_unlock(&mddev->sync_mutex);
50545050
}
50555051

@@ -6544,7 +6540,7 @@ void md_stop_writes(struct mddev *mddev)
65446540
{
65456541
mddev_lock_nointr(mddev);
65466542
set_bit(MD_RECOVERY_FROZEN, &mddev->recovery);
6547-
stop_sync_thread(mddev, true, false);
6543+
stop_sync_thread(mddev, true);
65486544
__md_stop_writes(mddev);
65496545
mddev_unlock(mddev);
65506546
}
@@ -6612,7 +6608,7 @@ static int md_set_readonly(struct mddev *mddev)
66126608
set_bit(MD_RECOVERY_FROZEN, &mddev->recovery);
66136609
}
66146610

6615-
stop_sync_thread(mddev, false, false);
6611+
stop_sync_thread(mddev, false);
66166612
wait_event(mddev->sb_wait,
66176613
!test_bit(MD_SB_CHANGE_PENDING, &mddev->sb_flags));
66186614
mddev_lock_nointr(mddev);
@@ -6658,7 +6654,7 @@ static int do_md_stop(struct mddev *mddev, int mode)
66586654
set_bit(MD_RECOVERY_FROZEN, &mddev->recovery);
66596655
}
66606656

6661-
stop_sync_thread(mddev, true, false);
6657+
stop_sync_thread(mddev, true);
66626658

66636659
if (mddev->sysfs_active ||
66646660
test_bit(MD_RECOVERY_RUNNING, &mddev->recovery)) {

0 commit comments

Comments
 (0)