md-cluster: wake up thread to continue recovery
In recovery case, we need to set MD_RECOVERY_NEEDED and wake up thread only if recover is not finished. Reviewed-by: NeilBrown <neilb@suse.com> Signed-off-by: Guoqing Jiang <gqjiang@suse.com> Signed-off-by: Shaohua Li <shli@fb.com>
This commit is contained in:
parent
2c97cf1385
commit
eb315cd093
|
@ -284,11 +284,14 @@ static void recover_bitmaps(struct md_thread *thread)
|
|||
goto dlm_unlock;
|
||||
}
|
||||
if (hi > 0) {
|
||||
/* TODO:Wait for current resync to get over */
|
||||
set_bit(MD_RECOVERY_NEEDED, &mddev->recovery);
|
||||
if (lo < mddev->recovery_cp)
|
||||
mddev->recovery_cp = lo;
|
||||
md_check_recovery(mddev);
|
||||
/* wake up thread to continue resync in case resync
|
||||
* is not finished */
|
||||
if (mddev->recovery_cp != MaxSector) {
|
||||
set_bit(MD_RECOVERY_NEEDED, &mddev->recovery);
|
||||
md_wakeup_thread(mddev->thread);
|
||||
}
|
||||
}
|
||||
dlm_unlock:
|
||||
dlm_unlock_sync(bm_lockres);
|
||||
|
|
Loading…
Reference in New Issue