]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
imsm: don't call abort_reshape() in imsm_manage_reshape()
authorArtur Paszkiewicz <artur.paszkiewicz@intel.com>
Mon, 5 Oct 2015 13:18:11 +0000 (15:18 +0200)
committerNeilBrown <neilb@suse.com>
Thu, 8 Oct 2015 04:22:16 +0000 (15:22 +1100)
Calling abort_reshape() in imsm_manage_reshape() is unnecessary in case
of an error because it is handled by reshape_array(). Calling it when
reshape completes successfully is also unnecessary and leads to a race
condition:
- reshape ends
- mdadm calls abort_reshape() -> sets sync_action to idle
- MD_RECOVERY_INTR is set and md_reap_sync_thread() does not finish the
  reshape

Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Signed-off-by: Konrad Dabrowski <konrad.dabrowski@intel.com>
Signed-off-by: NeilBrown <neilb@suse.com>
super-intel.c

index 95a72b6ad81f99cb9b110aacbe518c709ea91f71..e609e0ca3a2dae9f80245cca78f8765ffebcc482 100644 (file)
@@ -10601,7 +10601,6 @@ static int imsm_manage_reshape(
        ret_val = 1;
 abort:
        free(buf);
-       abort_reshape(sra);
 
        return ret_val;
 }