Merge tag 'selinux-pr-20211101' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-block.git] / drivers / block / rbd.c
index e65c9d706f6fbaf174b49f84d0b52899571ea6af..953fa134cd3db78cff006ce37931fd6a089fe8ba 100644 (file)
@@ -836,7 +836,7 @@ struct rbd_options {
        u32 alloc_hint_flags;  /* CEPH_OSD_OP_ALLOC_HINT_FLAG_* */
 };
 
-#define RBD_QUEUE_DEPTH_DEFAULT        BLKDEV_MAX_RQ
+#define RBD_QUEUE_DEPTH_DEFAULT        BLKDEV_DEFAULT_RQ
 #define RBD_ALLOC_SIZE_DEFAULT (64 * 1024)
 #define RBD_LOCK_TIMEOUT_DEFAULT 0  /* no timeout */
 #define RBD_READ_ONLY_DEFAULT  false
@@ -7054,7 +7054,9 @@ static ssize_t do_rbd_add(struct bus_type *bus,
        if (rc)
                goto err_out_image_lock;
 
-       device_add_disk(&rbd_dev->dev, rbd_dev->disk, NULL);
+       rc = device_add_disk(&rbd_dev->dev, rbd_dev->disk, NULL);
+       if (rc)
+               goto err_out_cleanup_disk;
 
        spin_lock(&rbd_dev_list_lock);
        list_add_tail(&rbd_dev->node, &rbd_dev_list);
@@ -7068,6 +7070,8 @@ out:
        module_put(THIS_MODULE);
        return rc;
 
+err_out_cleanup_disk:
+       rbd_free_disk(rbd_dev);
 err_out_image_lock:
        rbd_dev_image_unlock(rbd_dev);
        rbd_dev_device_release(rbd_dev);