diff options
author | NeilBrown <neilb@suse.de> | 2006-10-03 01:15:53 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-03 08:04:18 -0700 |
commit | c04be0aa82ff535e3676ab3e573957bdeef41879 (patch) | |
tree | 8481ab270218bed246eb02b3ba04a4b84d4e90d0 /drivers/md/linear.c | |
parent | 11ce99e625fe2718ad2682bfdd99070b337e6252 (diff) | |
download | op-kernel-dev-c04be0aa82ff535e3676ab3e573957bdeef41879.zip op-kernel-dev-c04be0aa82ff535e3676ab3e573957bdeef41879.tar.gz |
[PATCH] md: Improve locking around error handling
The error handling routines don't use proper locking, and so two concurrent
errors could trigger a problem.
So:
- use test-and-set and test-and-clear to synchonise
the In_sync bits with the ->degraded count
- use the spinlock to protect updates to the
degraded count (could use an atomic_t but that
would be a bigger change in code, and isn't
really justified)
- remove un-necessary locking in raid5
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/md/linear.c')
0 files changed, 0 insertions, 0 deletions