Mariusz Tkaczyk
9642fa73d0
md: fix for divide error in status_resync
...
Stopping external metadata arrays during resync/recovery causes
retries, loop of interrupting and starting reconstruction, until it
hit at good moment to stop completely. While these retries
curr_mark_cnt can be small- especially on HDD drives, so subtraction
result can be smaller than 0. However it is casted to uint without
checking. As a result of it the status bar in /proc/mdstat while stopping
is strange (it jumps between 0% and 99%).
The real problem occurs here after commit 72deb455b5 ("block: remove
CONFIG_LBDAF"). Sector_div() macro has been changed, now the
divisor is casted to uint32. For db = -8 the divisior(db/32-1) becomes 0.
Check if db value can be really counted and replace these macro by
div64_u64() inline.
Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@intel.com >
Signed-off-by: Song Liu <songliubraving@fb.com >
2019-06-18 08:02:25 -07:00
..
2019-05-24 17:36:47 +02:00
2019-06-05 17:37:17 +02:00
2019-06-05 17:36:37 +02:00
2019-06-05 17:36:37 +02:00
2019-06-13 03:17:11 -06:00
2019-05-30 11:26:41 -07:00
2019-05-30 11:26:32 -07:00
2019-06-13 03:17:50 -06:00
2019-06-05 17:37:06 +02:00
2019-05-30 11:26:41 -07:00
2019-05-21 11:28:39 +02:00
2019-06-05 17:37:18 +02:00
2019-06-05 17:37:18 +02:00
2019-06-05 17:37:07 +02:00
2019-05-30 11:26:35 -07:00
2019-05-21 10:50:46 +02:00
2019-06-05 17:37:17 +02:00
2019-06-05 17:37:16 +02:00
2019-06-05 17:37:17 +02:00
2019-06-05 17:36:38 +02:00
2019-05-24 17:27:11 +02:00
2019-06-05 17:36:37 +02:00
2019-05-21 10:50:46 +02:00
2019-06-08 12:52:42 -07:00
2019-06-08 12:52:42 -07:00
2019-06-05 17:37:17 +02:00
2019-05-30 11:29:53 -07:00
2019-06-05 17:36:37 +02:00
2019-05-30 11:26:35 -07:00
2019-06-05 17:37:18 +02:00
2019-05-24 17:36:45 +02:00
2019-06-08 12:52:42 -07:00
2019-05-30 11:26:41 -07:00
2019-05-21 10:50:46 +02:00
2019-06-05 17:37:17 +02:00
2019-06-08 12:52:42 -07:00
2019-06-05 17:37:17 +02:00
2019-06-05 17:37:07 +02:00
2019-06-05 17:37:05 +02:00
2019-06-08 12:52:42 -07:00
2019-05-21 10:50:46 +02:00
2019-06-08 12:52:42 -07:00
2019-05-21 10:50:46 +02:00
2019-06-05 17:37:06 +02:00
2019-06-05 17:37:06 +02:00
2019-06-05 17:37:18 +02:00
2019-06-08 12:52:42 -07:00
2019-06-05 17:37:17 +02:00
2019-05-21 10:50:46 +02:00
2019-06-05 17:37:06 +02:00
2019-06-05 17:37:17 +02:00
2019-06-05 17:37:06 +02:00
2019-05-31 08:34:32 -07:00
2019-06-05 17:37:17 +02:00
2019-06-05 17:37:14 +02:00
2019-06-05 17:37:10 +02:00
2019-06-05 17:36:37 +02:00
2019-06-05 17:37:17 +02:00
2019-06-18 08:02:25 -07:00
2019-06-05 17:37:18 +02:00
2019-06-05 17:37:07 +02:00
2019-05-28 09:53:54 +02:00
2019-05-21 10:50:46 +02:00
2019-06-05 17:37:18 +02:00
2019-06-08 12:52:42 -07:00
2019-06-08 12:52:42 -07:00
2019-06-05 17:37:17 +02:00
2019-06-08 12:52:42 -07:00
2019-06-05 17:37:15 +02:00
2019-06-05 17:36:37 +02:00
2019-05-21 10:50:46 +02:00
2019-06-05 17:36:38 +02:00
2019-06-07 14:04:28 -06:00
2019-06-05 17:36:38 +02:00
2019-06-05 17:37:16 +02:00
2019-05-21 10:50:46 +02:00
2019-06-08 12:52:42 -07:00
2019-06-08 12:50:36 -07:00
2019-05-27 10:55:08 +02:00
2019-06-05 17:30:27 +02:00
2019-06-05 17:36:37 +02:00
2019-06-05 17:37:18 +02:00
2019-06-05 17:37:18 +02:00
2019-06-05 17:37:17 +02:00
2019-05-30 11:25:19 -07:00
2019-06-05 17:37:18 +02:00
2019-06-05 17:37:04 +02:00
2019-05-24 17:36:45 +02:00
2019-05-30 11:26:39 -07:00
2019-05-30 11:26:39 -07:00
2019-06-05 17:37:10 +02:00
2019-05-30 11:26:37 -07:00
2019-05-21 10:50:46 +02:00
2019-06-05 17:37:18 +02:00
2019-06-05 17:36:37 +02:00
2019-06-05 17:37:15 +02:00
2019-06-05 17:37:17 +02:00
2019-06-07 09:29:14 -07:00
2019-05-24 17:36:45 +02:00
2019-06-08 12:52:42 -07:00
2019-05-21 10:50:46 +02:00
2019-05-21 10:50:46 +02:00
2019-05-21 10:50:46 +02:00
2019-05-21 10:50:46 +02:00
2019-06-05 17:37:14 +02:00
2019-05-21 10:50:46 +02:00
2019-06-05 17:37:18 +02:00
2019-06-05 17:36:37 +02:00
2019-05-21 10:50:46 +02:00
2019-05-31 08:31:45 -07:00
2019-06-05 17:37:06 +02:00
2019-05-21 10:50:46 +02:00
2019-06-05 17:36:37 +02:00
2019-06-05 17:37:15 +02:00
2019-05-21 10:50:46 +02:00
2019-05-24 17:08:18 +02:00
2019-06-05 17:37:06 +02:00
2019-05-29 13:26:32 -07:00
2019-06-05 17:30:29 +02:00
2019-05-30 11:29:52 -07:00
2019-05-27 11:08:23 -04:00
2019-06-05 17:37:18 +02:00
2019-05-21 10:50:46 +02:00
2019-05-27 11:08:22 -04:00
2019-05-21 10:50:46 +02:00
2019-05-24 17:39:00 +02:00
2019-05-30 11:26:32 -07:00
2019-06-08 12:52:42 -07:00
2019-06-05 17:37:18 +02:00
2019-06-05 17:37:05 +02:00
2019-05-21 10:50:46 +02:00