diff options
Diffstat (limited to 'drivers/md/raid5.h')
| -rw-r--r-- | drivers/md/raid5.h | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/drivers/md/raid5.h b/drivers/md/raid5.h index 2390e0e83daf..dd708359b451 100644 --- a/drivers/md/raid5.h +++ b/drivers/md/raid5.h | |||
| @@ -214,12 +214,20 @@ struct stripe_head { | |||
| 214 | int disks; /* disks in stripe */ | 214 | int disks; /* disks in stripe */ |
| 215 | enum check_states check_state; | 215 | enum check_states check_state; |
| 216 | enum reconstruct_states reconstruct_state; | 216 | enum reconstruct_states reconstruct_state; |
| 217 | /* stripe_operations | 217 | /** |
| 218 | * struct stripe_operations | ||
| 218 | * @target - STRIPE_OP_COMPUTE_BLK target | 219 | * @target - STRIPE_OP_COMPUTE_BLK target |
| 220 | * @target2 - 2nd compute target in the raid6 case | ||
| 221 | * @zero_sum_result - P and Q verification flags | ||
| 222 | * @request - async service request flags for raid_run_ops | ||
| 219 | */ | 223 | */ |
| 220 | struct stripe_operations { | 224 | struct stripe_operations { |
| 221 | int target, target2; | 225 | int target, target2; |
| 222 | enum sum_check_flags zero_sum_result; | 226 | enum sum_check_flags zero_sum_result; |
| 227 | #ifdef CONFIG_MULTICORE_RAID456 | ||
| 228 | unsigned long request; | ||
| 229 | wait_queue_head_t wait_for_ops; | ||
| 230 | #endif | ||
| 223 | } ops; | 231 | } ops; |
| 224 | struct r5dev { | 232 | struct r5dev { |
| 225 | struct bio req; | 233 | struct bio req; |
| @@ -294,6 +302,8 @@ struct r6_state { | |||
| 294 | #define STRIPE_FULL_WRITE 13 /* all blocks are set to be overwritten */ | 302 | #define STRIPE_FULL_WRITE 13 /* all blocks are set to be overwritten */ |
| 295 | #define STRIPE_BIOFILL_RUN 14 | 303 | #define STRIPE_BIOFILL_RUN 14 |
| 296 | #define STRIPE_COMPUTE_RUN 15 | 304 | #define STRIPE_COMPUTE_RUN 15 |
| 305 | #define STRIPE_OPS_REQ_PENDING 16 | ||
| 306 | |||
| 297 | /* | 307 | /* |
| 298 | * Operation request flags | 308 | * Operation request flags |
| 299 | */ | 309 | */ |
| @@ -478,7 +488,7 @@ static inline int algorithm_valid_raid6(int layout) | |||
| 478 | { | 488 | { |
| 479 | return (layout >= 0 && layout <= 5) | 489 | return (layout >= 0 && layout <= 5) |
| 480 | || | 490 | || |
| 481 | (layout == 8 || layout == 10) | 491 | (layout >= 8 && layout <= 10) |
| 482 | || | 492 | || |
| 483 | (layout >= 16 && layout <= 20); | 493 | (layout >= 16 && layout <= 20); |
| 484 | } | 494 | } |
