md: remove need for mddev_lock() in md_seq_show()
authorNeilBrown <neilb@suse.de>
Mon, 15 Dec 2014 01:56:59 +0000 (12:56 +1100)
committerNeilBrown <neilb@suse.de>
Thu, 5 Feb 2015 22:32:55 +0000 (09:32 +1100)
commitf97fcad38f2ecf2e34b6f0ab93f74f2978dbe008
treebff93531bc4bf444adf29337202b4814359d8a61
parent978a7a47cae79ae7a7b5a1e80bfcaef6ee700312
md: remove need for mddev_lock() in md_seq_show()

The only access in md_seq_show that could suffer from races
not protected by ->lock is walking the rdev list.
This can receive sufficient protection from 'rcu'.

So use rdev_for_each_rcu() and get rid of mddev_lock().

Now reading /proc/mdstat will never block in md_seq_show.

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