Commit 27c97abc authored by Luis Chamberlain's avatar Luis Chamberlain Committed by Jens Axboe

rbd: add add_disk() error handling

We never checked for errors on add_disk() as this function
returned void. Now that this is fixed, use the shiny new
error handling.
Signed-off-by: default avatarLuis Chamberlain <mcgrof@kernel.org>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent d6ac27c6
...@@ -7054,7 +7054,9 @@ static ssize_t do_rbd_add(struct bus_type *bus, ...@@ -7054,7 +7054,9 @@ static ssize_t do_rbd_add(struct bus_type *bus,
if (rc) if (rc)
goto err_out_image_lock; 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); spin_lock(&rbd_dev_list_lock);
list_add_tail(&rbd_dev->node, &rbd_dev_list); list_add_tail(&rbd_dev->node, &rbd_dev_list);
...@@ -7068,6 +7070,8 @@ static ssize_t do_rbd_add(struct bus_type *bus, ...@@ -7068,6 +7070,8 @@ static ssize_t do_rbd_add(struct bus_type *bus,
module_put(THIS_MODULE); module_put(THIS_MODULE);
return rc; return rc;
err_out_cleanup_disk:
rbd_free_disk(rbd_dev);
err_out_image_lock: err_out_image_lock:
rbd_dev_image_unlock(rbd_dev); rbd_dev_image_unlock(rbd_dev);
rbd_dev_device_release(rbd_dev); rbd_dev_device_release(rbd_dev);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment