Skip to content

Commit

Permalink
[PATCH] md: tidy up device-change notification when an md array is st…
Browse files Browse the repository at this point in the history
…opped

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: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
  • Loading branch information
NeilBrown authored and Linus Torvalds committed Dec 10, 2006
1 parent a3d8998 commit 0d4ca60
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions drivers/md/md.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
Expand All @@ -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);
Expand All @@ -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));
Expand Down

0 comments on commit 0d4ca60

Please sign in to comment.