md: replace STRIPE_OP_COMPUTE_BLK with STRIPE_COMPUTE_RUN
authorDan Williams <dan.j.williams@intel.com>
Fri, 27 Jun 2008 22:32:03 +0000 (08:32 +1000)
committerNeil Brown <neilb@notabene.brown>
Fri, 27 Jun 2008 22:32:03 +0000 (08:32 +1000)
commit976ea8d475675da6e86bd434328814ccbf5ae641
tree087b3c8a44b6cfce0ff085faab0bc66871c455fb
parent83de75cc92be599850e5ef3928e07cd840833499
md: replace STRIPE_OP_COMPUTE_BLK with STRIPE_COMPUTE_RUN

From: Dan Williams <dan.j.williams@intel.com>

Track the state of compute operations (recalculating a block from all the other
blocks in a stripe) with a state flag.  Reduces the scope of the
STRIPE_OP_COMPUTE_BLK flag to only tracking whether a compute operation has
been requested via the ops_request field of struct stripe_head_state.

Note, the compute operation that is performed in the course of doing a 'repair'
operation (check the parity block, recalculate it and write it back if the
check result is not zero) is tracked separately with the 'check_state'
variable.  Compute operations are held off while a 'check' is in progress, and
moving this check out to handle_issuing_new_read_requests5 the helper routine
__handle_issuing_new_read_requests5 can be simplified.

This is another step towards the removal of ops.{pending,ack,complete,count},
i.e. STRIPE_OP_COMPUTE_BLK only requests an operation and does not track the
state of the operation.

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Neil Brown <neilb@suse.de>
drivers/md/raid5.c