aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/md
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/md')
-rw-r--r--drivers/md/md.c12
1 files changed, 4 insertions, 8 deletions
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)
2187 2187
2188static void export_array(struct mddev *mddev) 2188static void export_array(struct mddev *mddev)
2189{ 2189{
2190 struct md_rdev *rdev, *tmp; 2190 struct md_rdev *rdev;
2191 2191
2192 rdev_for_each_safe(rdev, tmp, mddev) { 2192 while (!list_empty(&mddev->disks)) {
2193 if (!rdev->mddev) { 2193 rdev = list_first_entry(&mddev->disks, struct md_rdev,
2194 MD_BUG(); 2194 same_set);
2195 continue;
2196 }
2197 kick_rdev_from_array(rdev); 2195 kick_rdev_from_array(rdev);
2198 } 2196 }
2199 if (!list_empty(&mddev->disks))
2200 MD_BUG();
2201 mddev->raid_disks = 0; 2197 mddev->raid_disks = 0;
2202 mddev->major_version = 0; 2198 mddev->major_version = 0;
2203} 2199}