Refactor rbd_init() a bit to make it more clear what's going on.
Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
Reviewed-by: Alex Elder <elder@linaro.org>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
 
        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;
 }