diff options
author | Hou Tao <[email protected]> | 2023-01-31 15:07:19 +0800 |
---|---|---|
committer | Song Liu <[email protected]> | 2023-02-01 08:32:57 -0800 |
commit | 1d1f25bfda432a6b61bd0205d426226bbbd73504 (patch) | |
tree | dab11f8cf103ad615c2c80ae172a5a89e54d5514 /tools/perf/scripts/python/mem-phys-addr.py | |
parent | e152a05fa054170c05f1d5e04e93e2e75ea11405 (diff) |
md: don't update recovery_cp when curr_resync is ACTIVE
Don't update recovery_cp when curr_resync is MD_RESYNC_ACTIVE, otherwise
md may skip the resync of the first 3 sectors if the resync procedure is
interrupted before the first calling of ->sync_request() as shown below:
md_do_sync thread control thread
// setup resync
mddev->recovery_cp = 0
j = 0
mddev->curr_resync = MD_RESYNC_ACTIVE
// e.g., set array as idle
set_bit(MD_RECOVERY_INTR, &&mddev_recovery)
// resync loop
// check INTR before calling sync_request
!test_bit(MD_RECOVERY_INTR, &mddev->recovery
// resync interrupted
// update recovery_cp from 0 to 3
// the resync of three 3 sectors will be skipped
mddev->recovery_cp = 3
Fixes: eac58d08d493 ("md: Use enum for overloaded magic numbers used by mddev->curr_resync")
Cc: [email protected] # 6.0+
Signed-off-by: Hou Tao <[email protected]>
Reviewed-by: Logan Gunthorpe <[email protected]>
Signed-off-by: Song Liu <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/mem-phys-addr.py')
0 files changed, 0 insertions, 0 deletions