Files
linux/drivers/md
NeilBrown c4c1663be4 md/raid5: replace sh->lock with an 'active' flag.
sh->lock is now mainly used to ensure that two threads aren't running
in the locked part of handle_stripe[56] at the same time.

That can more neatly be achieved with an 'active' flag which we set
while running handle_stripe.  If we find the flag is set, we simply
requeue the stripe for later by setting STRIPE_HANDLE.

For safety we take ->device_lock while examining the state of the
stripe and creating a summary in 'stripe_head_state / r6_state'.
This possibly isn't needed but as shared fields like ->toread,
->towrite are checked it is safer for now at least.

We leave the label after the old 'unlock' called "unlock" because it
will disappear in a few patches, so renaming seems pointless.

This leaves the stripe 'locked' for longer as we clear STRIPE_ACTIVE
later, but that is not a problem.

Signed-off-by: NeilBrown <neilb@suse.de>
Reviewed-by: Namhyung Kim <namhyung@gmail.com>
2011-07-26 11:34:20 +10:00
..
2011-03-24 13:54:24 +00:00
2011-05-29 13:03:09 +01:00
2010-08-12 04:14:11 +01:00
2011-05-29 13:03:09 +01:00
2011-03-31 11:26:23 -03:00
2011-03-24 13:54:35 +00:00
2007-10-20 02:01:26 +01:00
2010-08-12 04:14:12 +01:00
2011-03-31 11:26:23 -03:00
2011-03-24 13:54:24 +00:00
2011-03-24 13:54:24 +00:00
2011-03-31 11:26:23 -03:00