From: NeilBrown Date: Fri, 24 Jul 2015 03:30:32 +0000 (+1000) Subject: md/raid5: handle possible race as reshape completes. X-Git-Tag: omap-for-v4.3/fixes-rc1~84^2~19 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6cbd81487f7cfa30e22537bf7cd07f48c4e7164d;p=pandora-kernel.git md/raid5: handle possible race as reshape completes. It is possible (though unlikely) for a reshape to be interrupted between the time that end_reshape is called and the time when raid5_finish_reshape is called. This can leave conf->reshape_progress set to MaxSector, but mddev->reshape_position not. This combination confused reshape_request() when ->reshape_backwards. As conf->reshape_progress is so high, it seems the reshape hasn't really begun. But assuming MaxSector is a valid address only leads to sorrow. So ensure reshape_position and reshape_progress both agree, and add an extra check in reshape_request() just in case they don't. Signed-off-by: NeilBrown --- Reading git-diff-tree failed