md: handle_stripe5 - add request/completion logic for async read ops
commitb5e98d65d34a1c11a2135ea8a9b2619dbc7216c8
authorDan Williams <dan.j.williams@intel.com>
Tue, 2 Jan 2007 20:52:31 +0000 (2 13:52 -0700)
committerDan Williams <dan.j.williams@intel.com>
Fri, 13 Jul 2007 15:06:17 +0000 (13 08:06 -0700)
treebf88aad375bb0cbf6c346ec912c06c2607850b21
parente89f89629b5de76e504d1be75c82c4a6b2419583
md: handle_stripe5 - add request/completion logic for async read ops

When a read bio is attached to the stripe and the corresponding block is
marked R5_UPTODATE, then a read (biofill) operation is scheduled to copy
the data from the stripe cache to the bio buffer.  handle_stripe flags the
blocks to be operated on with the R5_Wantfill flag.  If new read requests
arrive while raid5_run_ops is running they will not be handled until
handle_stripe is scheduled to run again.

Changelog:
* cleanup to_read and to_fill accounting
* do not fail reads that have reached the cache

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Acked-By: NeilBrown <neilb@suse.de>
drivers/md/raid5.c
include/linux/raid/raid5.h