diff options
author | Adam Kwolek <adam.kwolek@intel.com> | 2010-12-03 05:03:25 +0100 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2010-12-03 05:03:25 +0100 |
commit | b6e317c83ac95354c18e4946c5505fbe1401b558 (patch) | |
tree | e252c5fb5ec9324f9bd8c719f02dfbb4d1620afb /restripe.c | |
parent | Grow: open backup file for reshape as function (diff) | |
download | mdadm-b6e317c83ac95354c18e4946c5505fbe1401b558.tar.xz mdadm-b6e317c83ac95354c18e4946c5505fbe1401b558.zip |
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>
Diffstat (limited to 'restripe.c')
-rw-r--r-- | restripe.c | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -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: |