Yu Kuai
6efddf1e32
md: fix soft lockup in status_resync
...
status_resync() will calculate 'curr_resync - recovery_active' to show
user a progress bar like following:
[============>........] resync = 61.4%
'curr_resync' and 'recovery_active' is updated in md_do_sync(), and
status_resync() can read them concurrently, hence it's possible that
'curr_resync - recovery_active' can overflow to a huge number. In this
case status_resync() will be stuck in the loop to print a large amount
of '=', which will end up soft lockup.
Fix the problem by setting 'resync' to MD_RESYNC_ACTIVE in this case,
this way resync in progress will be reported to user.
Signed-off-by: Yu Kuai <yukuai3@huawei.com >
Signed-off-by: Song Liu <song@kernel.org >
Link: https://lore.kernel.org/r/20230310073855.1337560-3-yukuai1@huaweicloud.com
2023-04-13 22:20:24 -07:00
..
2023-02-23 17:09:35 -08:00
2023-03-03 10:36:01 -08:00
2023-02-24 12:47:33 -08:00
2023-03-03 18:43:02 +09:00
2023-03-05 11:19:16 -08:00
2023-04-13 07:38:55 -06:00
2023-02-09 14:20:04 -08:00
2023-02-27 10:04:49 -08:00
2023-03-12 23:28:10 +02:00
2023-02-25 15:16:23 -08:00
2023-02-21 09:45:13 -08:00
2023-03-03 10:30:58 -08:00
2023-02-27 10:04:49 -08:00
2023-03-05 11:32:30 -08:00
2023-02-25 09:19:23 -08:00
2023-02-25 09:19:23 -08:00
2023-02-24 17:18:54 -08:00
2023-02-17 09:16:34 +01:00
2023-02-21 08:10:03 -08:00
2023-02-04 13:05:42 +00:00
2023-02-24 12:58:55 -08:00
2023-02-27 10:04:49 -08:00
2023-02-24 12:58:55 -08:00
2023-02-24 12:58:55 -08:00
2023-03-10 14:17:35 +10:00
2023-03-09 10:17:23 -08:00
2023-02-24 12:58:55 -08:00
2023-02-24 12:58:55 -08:00
2023-02-23 15:03:05 -08:00
2023-02-24 12:58:55 -08:00
2023-03-09 22:07:52 +01:00
2023-02-28 16:05:01 -08:00
2023-02-21 12:13:58 -08:00
2023-02-24 12:47:33 -08:00
2023-02-24 15:11:03 -08:00
2023-02-27 10:04:49 -08:00
2023-02-20 15:49:56 -08:00
2023-02-27 10:04:49 -08:00
2023-02-24 12:58:55 -08:00
2023-02-25 11:30:21 -08:00
2023-02-23 15:09:31 -08:00
2023-02-25 11:00:06 -08:00
2023-02-23 14:47:13 -06:00
2023-04-13 22:20:24 -07:00
2023-03-09 21:59:04 +01:00
2023-02-27 10:04:49 -08:00
2023-02-27 09:47:26 -08:00
2023-02-27 14:05:08 -08:00
2023-03-09 21:58:45 +01:00
2023-02-27 10:04:49 -08:00
2023-03-11 09:24:05 -08:00
2023-03-09 10:56:58 -08:00
2023-02-28 11:48:28 +01:00
2023-02-25 11:48:02 -08:00
2023-03-03 10:21:39 -08:00
2023-02-06 19:07:00 +01:00
2023-02-24 13:40:13 -08:00
2023-02-16 13:48:53 +01:00
2023-02-24 12:47:33 -08:00
2023-03-05 11:19:16 -08:00
2023-02-24 12:58:55 -08:00
2023-03-03 09:32:51 -08:00
2023-02-27 10:04:49 -08:00
2023-02-27 10:04:49 -08:00
2023-03-07 12:08:30 +01:00
2023-03-03 16:33:28 -08:00
2023-03-03 10:30:58 -08:00
2023-02-22 21:23:48 -08:00
2023-02-20 12:26:35 +01:00
2023-03-02 09:21:25 -08:00
2023-02-27 10:04:49 -08:00
2023-02-26 12:10:28 -08:00
2023-03-03 09:15:50 -08:00
2023-04-11 19:53:08 -06:00
2023-02-09 16:51:39 -08:00
2023-03-10 20:45:53 -08:00
2023-03-01 09:44:22 -08:00
2023-02-27 10:04:49 -08:00
2023-02-24 17:29:52 -08:00
2023-03-02 09:25:38 -08:00
2023-03-09 10:06:28 +01:00
2023-03-06 16:50:42 -05:00
2023-02-24 12:58:55 -08:00
2023-03-03 20:34:49 +01:00
2023-02-24 12:58:55 -08:00
2023-03-09 21:58:53 +01:00
2023-03-06 18:33:12 -05:00
2023-02-23 17:09:35 -08:00
2023-02-24 17:22:11 -08:00
2023-02-25 11:48:02 -08:00
2023-02-25 11:52:57 -08:00
2023-02-25 11:48:02 -08:00
2023-02-24 12:17:14 -08:00
2023-03-01 10:17:46 +01:00
2023-02-25 11:48:02 -08:00
2023-03-09 21:58:57 +01:00
2023-03-02 11:12:01 -08:00
2023-02-24 12:58:55 -08:00
2023-02-26 11:53:25 -08:00