Files
linux-stable-mirror/include/linux
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
..
2007-05-14 19:33:46 -04:00
2007-05-01 16:11:57 +02:00
2007-06-16 13:16:16 -07:00
2007-05-14 19:33:47 -04:00
2007-07-13 08:06:14 -07:00
2007-05-11 05:38:26 -04:00
2007-05-09 12:30:51 -07:00
2007-05-07 12:12:55 -07:00
2007-05-23 20:14:12 -07:00
2007-05-08 11:15:15 -07:00
2007-05-09 12:30:56 -07:00
2007-05-07 12:13:00 -07:00
2007-05-21 09:56:57 -07:00
2007-05-10 18:24:13 +02:00
2007-05-08 11:15:25 -07:00
2007-05-08 11:15:26 -07:00
2007-05-07 12:12:58 -07:00
2007-06-01 08:18:29 -07:00
2007-05-03 13:17:25 -07:00
2007-05-09 08:57:56 +02:00
2007-05-31 16:20:15 -04:00
2007-05-31 16:20:14 -04:00
2007-05-06 20:38:28 -04:00
2007-06-24 08:59:11 -07:00
2007-06-18 09:48:41 -07:00
2007-05-11 16:56:02 +02:00
2007-05-01 23:26:34 +02:00
2007-06-08 15:14:30 +02:00
2007-05-11 08:29:36 -07:00
2007-06-29 01:10:54 -04:00
2007-05-11 08:29:34 -07:00
2007-05-15 08:54:00 -07:00
2007-05-08 11:15:09 -07:00
2007-06-08 17:23:34 -07:00
2007-05-09 12:30:53 -07:00
2007-05-03 10:52:32 +03:00
2007-06-27 02:50:08 -04:00
2007-05-18 20:46:30 -07:00
2007-05-08 11:15:18 -07:00
2007-05-09 12:30:49 -07:00
2007-05-03 10:52:22 +03:00
2007-06-21 15:55:12 -07:00
2007-05-09 12:30:54 -07:00
2007-05-04 17:59:07 -07:00
2007-05-07 12:12:59 -07:00
2007-05-08 11:15:05 -07:00
2007-05-08 11:15:05 -07:00
2007-05-05 14:15:32 -07:00
2007-07-08 15:21:58 +02:00
2007-07-01 12:29:44 -07:00
2007-05-08 11:15:14 -07:00
2007-07-01 12:29:44 -07:00
2007-05-08 11:14:57 -07:00
2007-05-07 12:12:54 -07:00
2007-05-09 08:57:56 +02:00
2007-06-07 13:39:34 -07:00
2007-05-17 05:23:06 -07:00
2007-05-08 11:15:18 -07:00
2007-05-09 08:57:56 +02:00
2007-05-07 12:12:50 -07:00
2007-05-11 08:29:36 -07:00
2007-05-11 08:29:36 -07:00
2007-06-24 08:59:12 -07:00
2007-06-16 13:16:16 -07:00
2007-05-21 21:47:27 -07:00
2007-05-08 11:14:58 -07:00
2007-05-08 11:15:18 -07:00
2007-05-09 12:30:57 -07:00
2007-05-11 08:29:34 -07:00
2007-05-08 11:15:18 -07:00
2007-05-11 08:29:36 -07:00
2007-05-11 08:29:35 -07:00
2007-05-11 08:29:35 -07:00
2007-05-03 00:55:34 -04:00
2007-05-07 12:12:58 -07:00
2007-05-09 08:57:56 +02:00
2007-05-09 12:30:56 -07:00
2007-05-21 09:18:19 -07:00
2007-05-04 12:55:39 -07:00