md: make sure everything is freed when dm-raid stops an array.
authorNeilBrown <neilb@suse.de>
Sun, 18 Nov 2012 23:47:48 +0000 (10:47 +1100)
committerNeilBrown <neilb@suse.de>
Mon, 19 Nov 2012 23:27:37 +0000 (10:27 +1100)
commit5eff3c439d3478ba9e8ba5f8c0aaf6e6fadb6e58
tree4e60271793978e8ee07f73360a2044a33a8d91de
parent35f9ac2dcec8f79d7059ce174fd7b7ee3290d620
md: make sure everything is freed when dm-raid stops an array.

md_stop() would stop an array, but not free various attached
data structures.
For internal arrays, these are freed later in do_md_stop() or
mddev_put(), but they don't apply for dm-raid arrays.
So get md_stop() to free them, and only all it from dm-raid.
For internal arrays we now call __md_stop.

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