Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 208385
b: refs/heads/master
c: 6e17b02
h: refs/heads/master
i:
  208383: 1622465
v: v3
  • Loading branch information
NeilBrown committed Aug 8, 2010
1 parent 8a3e323 commit 7ace1ef
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 17 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: bb4f1e9d0e2ef93de8e36ca0f5f26625fcd70b7d
refs/heads/master: 6e17b0276452912cb13445e5ea552b599984675f
25 changes: 9 additions & 16 deletions trunk/drivers/md/md.c
Original file line number Diff line number Diff line change
Expand Up @@ -4767,17 +4767,18 @@ static int md_set_readonly(mddev_t *mddev, int is_open)
*/
static int do_md_stop(mddev_t * mddev, int mode, int is_open)
{
int err = 0, revalidate = 0;
struct gendisk *disk = mddev->gendisk;
mdk_rdev_t *rdev;

mutex_lock(&mddev->open_mutex);
if (atomic_read(&mddev->openers) > is_open ||
mddev->sysfs_active) {
printk("md: %s still in use.\n",mdname(mddev));
err = -EBUSY;
} else if (mddev->pers) {
mutex_unlock(&mddev->open_mutex);
return -EBUSY;
}

if (mddev->pers) {
if (mddev->ro)
set_disk_ro(disk, 0);

Expand All @@ -4798,23 +4799,17 @@ static int do_md_stop(mddev_t * mddev, int mode, int is_open)
}

set_capacity(disk, 0);
revalidate = 1;
mutex_unlock(&mddev->open_mutex);
revalidate_disk(disk);

if (mddev->ro)
mddev->ro = 0;

err = 0;
}
mutex_unlock(&mddev->open_mutex);
if (revalidate)
revalidate_disk(disk);
if (err)
return err;
} else
mutex_unlock(&mddev->open_mutex);
/*
* Free resources if final stop
*/
if (mode == 0) {

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

bitmap_destroy(mddev);
Expand All @@ -4831,13 +4826,11 @@ static int do_md_stop(mddev_t * mddev, int mode, int is_open)
kobject_uevent(&disk_to_dev(mddev->gendisk)->kobj, KOBJ_CHANGE);
if (mddev->hold_active == UNTIL_STOP)
mddev->hold_active = 0;

}
err = 0;
blk_integrity_unregister(disk);
md_new_event(mddev);
sysfs_notify_dirent_safe(mddev->sysfs_state);
return err;
return 0;
}

#ifndef MODULE
Expand Down

0 comments on commit 7ace1ef

Please sign in to comment.