|
@@ -276,6 +276,7 @@ static mddev_t * mddev_find(dev_t unit)
|
|
|
init_waitqueue_head(&new->sb_wait);
|
|
|
new->reshape_position = MaxSector;
|
|
|
new->resync_max = MaxSector;
|
|
|
+ new->level = LEVEL_NONE;
|
|
|
|
|
|
new->queue = blk_alloc_queue(GFP_KERNEL);
|
|
|
if (!new->queue) {
|
|
@@ -3714,6 +3715,30 @@ static int do_md_stop(mddev_t * mddev, int mode)
|
|
|
mddev->reshape_position = MaxSector;
|
|
|
mddev->external = 0;
|
|
|
mddev->persistent = 0;
|
|
|
+ mddev->level = LEVEL_NONE;
|
|
|
+ mddev->clevel[0] = 0;
|
|
|
+ mddev->flags = 0;
|
|
|
+ mddev->ro = 0;
|
|
|
+ mddev->metadata_type[0] = 0;
|
|
|
+ mddev->chunk_size = 0;
|
|
|
+ mddev->ctime = mddev->utime = 0;
|
|
|
+ mddev->layout = 0;
|
|
|
+ mddev->max_disks = 0;
|
|
|
+ mddev->events = 0;
|
|
|
+ mddev->delta_disks = 0;
|
|
|
+ mddev->new_level = LEVEL_NONE;
|
|
|
+ mddev->new_layout = 0;
|
|
|
+ mddev->new_chunk = 0;
|
|
|
+ mddev->curr_resync = 0;
|
|
|
+ mddev->resync_mismatches = 0;
|
|
|
+ mddev->suspend_lo = mddev->suspend_hi = 0;
|
|
|
+ mddev->sync_speed_min = mddev->sync_speed_max = 0;
|
|
|
+ mddev->recovery = 0;
|
|
|
+ mddev->in_sync = 0;
|
|
|
+ mddev->changed = 0;
|
|
|
+ mddev->degraded = 0;
|
|
|
+ mddev->barriers_work = 0;
|
|
|
+ mddev->safemode = 0;
|
|
|
|
|
|
} else if (mddev->pers)
|
|
|
printk(KERN_INFO "md: %s switched to read-only mode.\n",
|