Blame SOURCES/mdadm-3.3.2-imsm-don-t-call-abort_reshape-in-imsm_manage_reshape.patch

efb5be
From 2139b03c2080e6f4e442ff6b7a0f6ffd30decb8b Mon Sep 17 00:00:00 2001
efb5be
From: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
efb5be
Date: Mon, 5 Oct 2015 15:18:11 +0200
efb5be
Subject: [PATCH] imsm: don't call abort_reshape() in imsm_manage_reshape()
efb5be
efb5be
Calling abort_reshape() in imsm_manage_reshape() is unnecessary in case
efb5be
of an error because it is handled by reshape_array(). Calling it when
efb5be
reshape completes successfully is also unnecessary and leads to a race
efb5be
condition:
efb5be
- reshape ends
efb5be
- mdadm calls abort_reshape() -> sets sync_action to idle
efb5be
- MD_RECOVERY_INTR is set and md_reap_sync_thread() does not finish the
efb5be
  reshape
efb5be
efb5be
Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
efb5be
Signed-off-by: Konrad Dabrowski <konrad.dabrowski@intel.com>
efb5be
Signed-off-by: NeilBrown <neilb@suse.com>
efb5be
---
efb5be
 super-intel.c | 1 -
efb5be
 1 file changed, 1 deletion(-)
efb5be
efb5be
diff --git a/super-intel.c b/super-intel.c
efb5be
index 95a72b6..e609e0c 100644
efb5be
--- a/super-intel.c
efb5be
+++ b/super-intel.c
efb5be
@@ -10601,7 +10601,6 @@ static int imsm_manage_reshape(
efb5be
 	ret_val = 1;
efb5be
 abort:
efb5be
 	free(buf);
efb5be
-	abort_reshape(sra);
efb5be
 
efb5be
 	return ret_val;
efb5be
 }
efb5be
-- 
efb5be
2.5.0
efb5be