md/raid10: check In_sync flag in 'enough()'.
authorNeilBrown <neilb@suse.de>
Tue, 11 Jun 2013 05:08:03 +0000 (15:08 +1000)
committerNeilBrown <neilb@suse.de>
Thu, 13 Jun 2013 22:10:27 +0000 (08:10 +1000)
commit725d6e579f06360744fc101b1af2f82d8aa282f1
treec46f6b92ac05727d1201f6f63276dfeb6ddd4096
parent635f6416a2e983adac8ccf90bffbeed0c1a76454
md/raid10: check In_sync flag in 'enough()'.

It isn't really enough to check that the rdev is present, we need to
also be sure that the device is still In_sync.

Doing this requires using rcu_dereference to access the rdev, and
holding the rcu_read_lock() to ensure the rdev doesn't disappear while
we look at it.

Signed-off-by: NeilBrown <neilb@suse.de>
drivers/md/raid10.c