md: clean up 'exit' labels in md_ioctl().
authorNeilBrown <neilb@suse.de>
Tue, 30 Sep 2014 05:46:41 +0000 (15:46 +1000)
committerNeilBrown <neilb@suse.de>
Tue, 14 Oct 2014 02:08:29 +0000 (13:08 +1100)
There are 4 labels and we only really need two.

Signed-off-by: NeilBrown <neilb@suse.de>
drivers/md/md.c

index 90e1537d1b0a85825a4b5698d69d14572f7905fe..7da2fb3802e3c8757299effcd513f56aac39dbce 100644 (file)
@@ -6351,18 +6351,18 @@ static int md_ioctl(struct block_device *bdev, fmode_t mode,
        switch (cmd) {
        case RAID_VERSION:
                err = get_version(argp);
-               goto done;
+               goto out;
 
        case PRINT_RAID_DEBUG:
                err = 0;
                md_print_devices();
-               goto done;
+               goto out;
 
 #ifndef MODULE
        case RAID_AUTORUN:
                err = 0;
                autostart_arrays(arg);
-               goto done;
+               goto out;
 #endif
        default:;
        }
@@ -6375,7 +6375,7 @@ static int md_ioctl(struct block_device *bdev, fmode_t mode,
 
        if (!mddev) {
                BUG();
-               goto abort;
+               goto out;
        }
 
        /* Some actions do not requires the mutex */
@@ -6385,18 +6385,18 @@ static int md_ioctl(struct block_device *bdev, fmode_t mode,
                        err = -ENODEV;
                else
                        err = get_array_info(mddev, argp);
-               goto abort;
+               goto out;
 
        case GET_DISK_INFO:
                if (!mddev->raid_disks && !mddev->external)
                        err = -ENODEV;
                else
                        err = get_disk_info(mddev, argp);
-               goto abort;
+               goto out;
 
        case SET_DISK_FAULTY:
                err = set_disk_faulty(mddev, new_decode_dev(arg));
-               goto abort;
+               goto out;
        }
 
        if (cmd == ADD_NEW_DISK)
@@ -6417,7 +6417,7 @@ static int md_ioctl(struct block_device *bdev, fmode_t mode,
                if (mddev->pers && atomic_read(&mddev->openers) > 1) {
                        mutex_unlock(&mddev->open_mutex);
                        err = -EBUSY;
-                       goto abort;
+                       goto out;
                }
                set_bit(MD_STILL_CLOSED, &mddev->flags);
                mutex_unlock(&mddev->open_mutex);
@@ -6428,7 +6428,7 @@ static int md_ioctl(struct block_device *bdev, fmode_t mode,
                printk(KERN_INFO
                        "md: ioctl lock interrupted, reason %d, cmd %d\n",
                        err, cmd);
-               goto abort;
+               goto out;
        }
 
        if (cmd == SET_ARRAY_INFO) {
@@ -6437,38 +6437,38 @@ static int md_ioctl(struct block_device *bdev, fmode_t mode,
                        memset(&info, 0, sizeof(info));
                else if (copy_from_user(&info, argp, sizeof(info))) {
                        err = -EFAULT;
-                       goto abort_unlock;
+                       goto unlock;
                }
                if (mddev->pers) {
                        err = update_array_info(mddev, &info);
                        if (err) {
                                printk(KERN_WARNING "md: couldn't update"
                                       " array info. %d\n", err);
-                               goto abort_unlock;
+                               goto unlock;
                        }
-                       goto done_unlock;
+                       goto unlock;
                }
                if (!list_empty(&mddev->disks)) {
                        printk(KERN_WARNING
                               "md: array %s already has disks!\n",
                               mdname(mddev));
                        err = -EBUSY;
-                       goto abort_unlock;
+                       goto unlock;
                }
                if (mddev->raid_disks) {
                        printk(KERN_WARNING
                               "md: array %s already initialised!\n",
                               mdname(mddev));
                        err = -EBUSY;
-                       goto abort_unlock;
+                       goto unlock;
                }
                err = set_array_info(mddev, &info);
                if (err) {
                        printk(KERN_WARNING "md: couldn't set"
                               " array info. %d\n", err);
-                       goto abort_unlock;
+                       goto unlock;
                }
-               goto done_unlock;
+               goto unlock;
        }
 
        /*
@@ -6481,7 +6481,7 @@ static int md_ioctl(struct block_device *bdev, fmode_t mode,
            && cmd != RUN_ARRAY && cmd != SET_BITMAP_FILE
            && cmd != GET_BITMAP_FILE) {
                err = -ENODEV;
-               goto abort_unlock;
+               goto unlock;
        }
 
        /*
@@ -6490,23 +6490,23 @@ static int md_ioctl(struct block_device *bdev, fmode_t mode,
        switch (cmd) {
        case GET_BITMAP_FILE:
                err = get_bitmap_file(mddev, argp);
-               goto done_unlock;
+               goto unlock;
 
        case RESTART_ARRAY_RW:
                err = restart_array(mddev);
-               goto done_unlock;
+               goto unlock;
 
        case STOP_ARRAY:
                err = do_md_stop(mddev, 0, bdev);
-               goto done_unlock;
+               goto unlock;
 
        case STOP_ARRAY_RO:
                err = md_set_readonly(mddev, bdev);
-               goto done_unlock;
+               goto unlock;
 
        case HOT_REMOVE_DISK:
                err = hot_remove_disk(mddev, new_decode_dev(arg));
-               goto done_unlock;
+               goto unlock;
 
        case ADD_NEW_DISK:
                /* We can support ADD_NEW_DISK on read-only arrays
@@ -6522,14 +6522,14 @@ static int md_ioctl(struct block_device *bdev, fmode_t mode,
                                break;
                        else
                                err = add_new_disk(mddev, &info);
-                       goto done_unlock;
+                       goto unlock;
                }
                break;
 
        case BLKROSET:
                if (get_user(ro, (int __user *)(arg))) {
                        err = -EFAULT;
-                       goto done_unlock;
+                       goto unlock;
                }
                err = -EINVAL;
 
@@ -6537,11 +6537,11 @@ static int md_ioctl(struct block_device *bdev, fmode_t mode,
                 * does not matter, no writes are coming
                 */
                if (ro)
-                       goto done_unlock;
+                       goto unlock;
 
                /* are we are already prepared for writes? */
                if (mddev->ro != 1)
-                       goto done_unlock;
+                       goto unlock;
 
                /* transitioning to readauto need only happen for
                 * arrays that call md_write_start
@@ -6553,7 +6553,7 @@ static int md_ioctl(struct block_device *bdev, fmode_t mode,
                                set_disk_ro(mddev->gendisk, 0);
                        }
                }
-               goto done_unlock;
+               goto unlock;
        }
 
        /*
@@ -6578,7 +6578,7 @@ static int md_ioctl(struct block_device *bdev, fmode_t mode,
                        }
                } else {
                        err = -EROFS;
-                       goto abort_unlock;
+                       goto unlock;
                }
        }
 
@@ -6590,38 +6590,32 @@ static int md_ioctl(struct block_device *bdev, fmode_t mode,
                        err = -EFAULT;
                else
                        err = add_new_disk(mddev, &info);
-               goto done_unlock;
+               goto unlock;
        }
 
        case HOT_ADD_DISK:
                err = hot_add_disk(mddev, new_decode_dev(arg));
-               goto done_unlock;
+               goto unlock;
 
        case RUN_ARRAY:
                err = do_md_run(mddev);
-               goto done_unlock;
+               goto unlock;
 
        case SET_BITMAP_FILE:
                err = set_bitmap_file(mddev, (int)arg);
-               goto done_unlock;
+               goto unlock;
 
        default:
                err = -EINVAL;
-               goto abort_unlock;
+               goto unlock;
        }
 
-done_unlock:
-abort_unlock:
+unlock:
        if (mddev->hold_active == UNTIL_IOCTL &&
            err != -EINVAL)
                mddev->hold_active = 0;
        mddev_unlock(mddev);
-
-       return err;
-done:
-       if (err)
-               MD_BUG();
-abort:
+out:
        return err;
 }
 #ifdef CONFIG_COMPAT