From b6e317c83ac95354c18e4946c5505fbe1401b558 Mon Sep 17 00:00:00 2001 From: Adam Kwolek Date: Fri, 3 Dec 2010 15:03:25 +1100 Subject: [PATCH] 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 Signed-off-by: NeilBrown --- restripe.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/restripe.c b/restripe.c index 3074693..d33dbba 100644 --- a/restripe.c +++ b/restripe.c @@ -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: