NeilBrown 635f6416a2 md/raid10: locking changes for 'enough()'.
As 'enough' accesses conf->prev and conf->geo, which can change
spontanously, it should guard against changes.
This can be done with device_lock as start_reshape holds device_lock
while updating 'geo' and end_reshape holds it while updating 'prev'.

So 'error' needs to hold 'device_lock'.

On the other hand, raid10_end_read_request knows which of the two it
really wants to access, and as it is an active request on that one,
the value cannot change underneath it.

So change _enough to take flag rather than a pointer, pass the
appropriate flag from raid10_end_read_request(), and remove the locking.

All other calls to 'enough' are made with reconfig_mutex held, so
neither 'prev' nor 'geo' can change.

Signed-off-by: NeilBrown <neilb@suse.de>
2013-06-14 08:10:27 +10:00
..
2013-05-17 14:31:05 -04:00
2013-05-30 18:27:24 -07:00
2013-05-09 09:59:16 -07:00
2013-05-23 18:24:10 -07:00
2013-05-06 14:59:13 -07:00
2013-06-08 15:50:42 -07:00
2013-05-20 13:38:14 -07:00
2013-06-01 19:53:41 +09:00
2013-05-15 10:58:22 -07:00
2013-05-07 14:04:56 -07:00
2013-05-07 14:02:00 -07:00
2013-06-06 16:34:11 -07:00
2013-06-05 08:54:16 -06:00
2013-06-11 02:46:21 -07:00
2013-05-04 12:31:18 -07:00
2013-05-04 12:31:18 -07:00