linux-uconsole/include/linux/raid
Dan Williams a445685647 raid5: refactor handle_stripe5 and handle_stripe6 (v3)
handle_stripe5 and handle_stripe6 have very deep logic paths handling the
various states of a stripe_head.  By introducing the 'stripe_head_state'
and 'r6_state' objects, large portions of the logic can be moved to
sub-routines.

'struct stripe_head_state' consumes all of the automatic variables that previously
stood alone in handle_stripe5,6.  'struct r6_state' contains the handle_stripe6
specific variables like p_failed and q_failed.

One of the nice side effects of the 'stripe_head_state' change is that it
allows for further reductions in code duplication between raid5 and raid6.
The following new routines are shared between raid5 and raid6:

	handle_completed_write_requests
	handle_requests_to_failed_array
	handle_stripe_expansion

Changes:
* v2: fixed 'conf->raid_disk-1' for the raid6 'handle_stripe_expansion' path
* v3: removed the unused 'dirty' field from struct stripe_head_state
* v3: coalesced open coded bi_end_io routines into return_io()

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Acked-By: NeilBrown <neilb@suse.de>
2007-07-13 08:06:15 -07:00
..
bitmap.h md: don't write more than is required of the last page of a bitmap 2007-05-23 20:14:14 -07:00
Kbuild [HEADERS] One line per header in Kbuild files to reduce conflicts 2006-09-19 12:43:58 +01:00
linear.h
md.h [PATCH] md: fix potential memalloc deadlock in md 2007-01-26 13:51:00 -08:00
md_k.h Revert "md: improve partition detection in md array" 2007-05-09 18:51:36 -07:00
md_p.h [PATCH] md: endian annotation for v1 superblock access 2006-10-21 13:35:05 -07:00
md_u.h [PATCH] md: the scheduled removal of the START_ARRAY ioctl for md 2006-10-03 08:04:16 -07:00
multipath.h
raid0.h
raid1.h [PATCH] md: Remove working_disks from raid1 state data 2006-10-03 08:04:17 -07:00
raid5.h raid5: refactor handle_stripe5 and handle_stripe6 (v3) 2007-07-13 08:06:15 -07:00
raid10.h [PATCH] md: remove 'working_disks' from raid10 state 2006-10-03 08:04:17 -07:00
xor.h async_tx: add the async_tx api 2007-07-13 08:06:14 -07:00