Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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: Luis Chamberlain <mcgrof@kernel.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>

authored by

Luis Chamberlain and committed by
Jens Axboe
27c97abc d6ac27c6

+5 -1
+5 -1
drivers/block/rbd.c
··· 7054 7054 if (rc) 7055 7055 goto err_out_image_lock; 7056 7056 7057 - device_add_disk(&rbd_dev->dev, rbd_dev->disk, NULL); 7057 + rc = device_add_disk(&rbd_dev->dev, rbd_dev->disk, NULL); 7058 + if (rc) 7059 + goto err_out_cleanup_disk; 7058 7060 7059 7061 spin_lock(&rbd_dev_list_lock); 7060 7062 list_add_tail(&rbd_dev->node, &rbd_dev_list); ··· 7070 7068 module_put(THIS_MODULE); 7071 7069 return rc; 7072 7070 7071 + err_out_cleanup_disk: 7072 + rbd_free_disk(rbd_dev); 7073 7073 err_out_image_lock: 7074 7074 rbd_dev_image_unlock(rbd_dev); 7075 7075 rbd_dev_device_release(rbd_dev);