From: Shaohua Li Date: Wed, 6 Jan 2016 22:37:15 +0000 (-0800) Subject: raid5-cache: handle journal hotadd in quiesce X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=16a43f6a65002ba9a5b063764b4ad5d288a1c15e;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git raid5-cache: handle journal hotadd in quiesce Handle journal hotadd in quiesce to avoid creating duplicated threads. Signed-off-by: Shaohua Li Signed-off-by: NeilBrown --- diff --git a/drivers/md/raid5-cache.c b/drivers/md/raid5-cache.c index 7ac035a73281..9531f5f05b93 100644 --- a/drivers/md/raid5-cache.c +++ b/drivers/md/raid5-cache.c @@ -827,6 +827,13 @@ void r5l_quiesce(struct r5l_log *log, int state) return; if (state == 0) { log->in_teardown = 0; + /* + * This is a special case for hotadd. In suspend, the array has + * no journal. In resume, journal is initialized as well as the + * reclaim thread. + */ + if (log->reclaim_thread) + return; log->reclaim_thread = md_register_thread(r5l_reclaim_thread, log->rdev->mddev, "reclaim"); } else if (state == 1) {