### Comments for ChangeSet When starting an array fails, we have to tear it down, but in some circumstances (particularly autostart_array) the reference count will be 3, so do_md_stop will fail. With this patch we only worry about the number of users is the array has been fully started. ----------- Diffstat output ------------ ./drivers/md/md.c | 11 +++++------ 1 files changed, 5 insertions(+), 6 deletions(-) diff ./drivers/md/md.c~current~ ./drivers/md/md.c --- ./drivers/md/md.c~current~ 2003-05-27 11:58:23.000000000 +1000 +++ ./drivers/md/md.c 2003-05-27 11:58:24.000000000 +1000 @@ -1669,13 +1669,12 @@ static int do_md_stop(mddev_t * mddev, i int err = 0; struct gendisk *disk = disks[mdidx(mddev)]; - if (atomic_read(&mddev->active)>2) { - printk("md: md%d still in use.\n",mdidx(mddev)); - err = -EBUSY; - goto out; - } - if (mddev->pers) { + if (atomic_read(&mddev->active)>2) { + printk("md: md%d still in use.\n",mdidx(mddev)); + return -EBUSY; + } + if (mddev->sync_thread) { set_bit(MD_RECOVERY_INTR, &mddev->recovery); md_unregister_thread(mddev->sync_thread); - To unsubscribe from this list: send the line "unsubscribe linux-raid" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html