diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c index d743900ca7805f55ba86af8aa030bc64a4d23c0c..8b78a08483a6862d9be5decb508224365caa6c32 100644 --- a/drivers/block/rbd.c +++ b/drivers/block/rbd.c @@ -5292,18 +5292,22 @@ static int __init rbd_init(void) if (!libceph_compatible(NULL)) { rbd_warn(NULL, "libceph incompatibility (quitting)"); - return -EINVAL; } + rc = rbd_slab_init(); if (rc) return rc; + rc = rbd_sysfs_init(); if (rc) - rbd_slab_exit(); - else - pr_info("loaded\n"); + goto err_out_slab; + pr_info("loaded\n"); + return 0; + +err_out_slab: + rbd_slab_exit(); return rc; }