diff options
author | NeilBrown <neilb@suse.de> | 2009-03-30 23:39:38 -0400 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2009-03-30 23:39:38 -0400 |
commit | 67cc2b8165857ba019920d1f00d64bcc4140075d (patch) | |
tree | ff8e8eed440640acfa561160115ac44aedf811c2 /drivers/md/raid5.h | |
parent | 99c0fb5f92828ae96909d390f2df137b89093b37 (diff) |
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 { | |||
201 | sector_t sector; /* sector of this row */ | 201 | sector_t sector; /* sector of this row */ |
202 | short pd_idx; /* parity disk index */ | 202 | short pd_idx; /* parity disk index */ |
203 | short qd_idx; /* 'Q' disk index for raid6 */ | 203 | short qd_idx; /* 'Q' disk index for raid6 */ |
204 | short ddf_layout;/* use DDF ordering to calculate Q */ | ||
204 | unsigned long state; /* state flags */ | 205 | unsigned long state; /* state flags */ |
205 | atomic_t count; /* nr of active thread/requests */ | 206 | atomic_t count; /* nr of active thread/requests */ |
206 | spinlock_t lock; | 207 | spinlock_t lock; |