+11
−5
+8
−4
+12
−8
Loading
Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more
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>