diff options
author | NeilBrown <neilb@suse.de> | 2009-03-31 14:39:38 +1100 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2009-03-31 14:39:38 +1100 |
commit | 67cc2b8165857ba019920d1f00d64bcc4140075d (patch) | |
tree | ff8e8eed440640acfa561160115ac44aedf811c2 /drivers/md/raid5.h | |
parent | 99c0fb5f92828ae96909d390f2df137b89093b37 (diff) | |
download | linux-67cc2b8165857ba019920d1f00d64bcc4140075d.tar.gz linux-67cc2b8165857ba019920d1f00d64bcc4140075d.tar.bz2 linux-67cc2b8165857ba019920d1f00d64bcc4140075d.zip |
md/raid5: finish support for DDF/raid6
DDF requires RAID6 calculations over different devices in a different
order.
For md/raid6, we calculate over just the data devices, starting
immediately after the 'Q' block.
For ddf/raid6 we calculate over all devices, using zeros in place of
the P and Q blocks.
This requires unfortunately complex loops...
Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'drivers/md/raid5.h')
-rw-r--r-- | drivers/md/raid5.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/md/raid5.h b/drivers/md/raid5.h index 633d79289616..84456b1af204 100644 --- a/drivers/md/raid5.h +++ b/drivers/md/raid5.h @@ -201,6 +201,7 @@ struct stripe_head { sector_t sector; /* sector of this row */ short pd_idx; /* parity disk index */ short qd_idx; /* 'Q' disk index for raid6 */ + short ddf_layout;/* use DDF ordering to calculate Q */ unsigned long state; /* state flags */ atomic_t count; /* nr of active thread/requests */ spinlock_t lock; |