FIX: Do not use layout for raid4 and raid0 while geo map computing

After takeover, layout has no meaning for computing geo map for raid0
and raid4.  Set layout to 0 for such cases.  It can happen after
takeover operation when not all array information is reread.

Signed-off-by: Adam Kwolek <adam.kwolek@intel.com>
Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
Adam Kwolek 2010-12-03 15:03:25 +11:00 committed by NeilBrown
parent e6e9d47b76
commit b6e317c83a
1 changed files with 5 additions and 0 deletions

View File

@ -43,6 +43,11 @@ static int geo_map(int block, unsigned long long stripe, int raid_disks,
*/
int pd;
/* layout is not relevant for raid0 and raid4 */
if ((level == 0) ||
(level == 4))
layout = 0;
switch(level*100 + layout) {
case 000:
case 400: