diff options
-rw-r--r-- | drivers/block/rbd.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c index d743900ca780..8b78a08483a6 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; } |