Commit 0d4ca600 authored by NeilBrown's avatar NeilBrown Committed by Linus Torvalds
Browse files

[PATCH] md: tidy up device-change notification when an md array is stopped



An md array can be stopped leaving all the setting still in place, or it can
torn down and destroyed.  set_capacity and other change notifications only
happen in the latter case, but should happen in both.

Signed-off-by: default avatarNeil Brown <neilb@suse.de>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent a3d89983
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -3314,6 +3314,10 @@ static int do_md_stop(mddev_t * mddev, int mode)

			module_put(mddev->pers->owner);
			mddev->pers = NULL;

			set_capacity(disk, 0);
			mddev->changed = 1;

			if (mddev->ro)
				mddev->ro = 0;
		}
@@ -3333,7 +3337,7 @@ static int do_md_stop(mddev_t * mddev, int mode)
	if (mode == 0) {
		mdk_rdev_t *rdev;
		struct list_head *tmp;
		struct gendisk *disk;

		printk(KERN_INFO "md: %s stopped.\n", mdname(mddev));

		bitmap_destroy(mddev);
@@ -3358,10 +3362,6 @@ static int do_md_stop(mddev_t * mddev, int mode)
		mddev->raid_disks = 0;
		mddev->recovery_cp = 0;

		disk = mddev->gendisk;
		if (disk)
			set_capacity(disk, 0);
		mddev->changed = 1;
	} else if (mddev->pers)
		printk(KERN_INFO "md: %s switched to read-only mode.\n",
			mdname(mddev));