From 0638bb0e732fa2c839fceec93fc02e2347e0f596 Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Thu, 25 Sep 2014 17:43:47 +1000 Subject: md: simplify export_array() We don't really need that for_each loop, or those MD_BUGs. Signed-off-by: NeilBrown --- drivers/md/md.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) (limited to 'drivers/md') 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; } -- cgit v1.2.3