| |
| ### Diffstat output |
| ./drivers/md/md.c | 6 +++++- |
| 1 file changed, 5 insertions(+), 1 deletion(-) |
| |
| diff .prev/drivers/md/md.c ./drivers/md/md.c |
| --- .prev/drivers/md/md.c 2006-10-23 10:26:37.000000000 +1000 |
| +++ ./drivers/md/md.c 2006-12-21 16:28:29.000000000 +1100 |
| @@ -1783,7 +1783,8 @@ state_store(mdk_rdev_t *rdev, const char |
| else { |
| mddev_t *mddev = rdev->mddev; |
| kick_rdev_from_array(rdev); |
| - md_update_sb(mddev); |
| + if (mddev->pers) |
| + md_update_sb(mddev); |
| md_new_event(mddev); |
| err = 0; |
| } |
| @@ -1994,6 +1995,8 @@ static mdk_rdev_t *md_import_device(dev_ |
| kobject_init(&rdev->kobj); |
| |
| rdev->desc_nr = -1; |
| + rdev->saved_raid_disk = -1; |
| + rdev->raid_disk = -1; |
| rdev->flags = 0; |
| rdev->data_offset = 0; |
| rdev->sb_events = 0; |
| @@ -3991,6 +3994,7 @@ static int set_array_info(mddev_t * mdde |
| mddev->major_version = info->major_version; |
| mddev->minor_version = info->minor_version; |
| mddev->patch_version = info->patch_version; |
| + mddev->persistent = ! info->not_persistent; |
| return 0; |
| } |
| mddev->major_version = MD_MAJOR_VERSION; |