From: NeilBrown Date: Thu, 25 Sep 2014 07:43:47 +0000 (+1000) Subject: md: simplify export_array() X-Git-Tag: firefly_0821_release~176^2~3017^2~11 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=0638bb0e732fa2c839fceec93fc02e2347e0f596;p=firefly-linux-kernel-4.4.55.git md: simplify export_array() We don't really need that for_each loop, or those MD_BUGs. Signed-off-by: NeilBrown --- diff --git a/drivers/md/md.c b/drivers/md/md.c index 73451f325dda..d96aa8094736 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c @@ -2187,17 +2187,13 @@ static void kick_rdev_from_array(struct md_rdev * rdev) static void export_array(struct mddev *mddev) { - struct md_rdev *rdev, *tmp; + struct md_rdev *rdev; - rdev_for_each_safe(rdev, tmp, mddev) { - if (!rdev->mddev) { - MD_BUG(); - continue; - } + while (!list_empty(&mddev->disks)) { + rdev = list_first_entry(&mddev->disks, struct md_rdev, + same_set); kick_rdev_from_array(rdev); } - if (!list_empty(&mddev->disks)) - MD_BUG(); mddev->raid_disks = 0; mddev->major_version = 0; }