diff options
author | Ilya Dryomov <ilya.dryomov@inktank.com> | 2013-12-13 15:28:57 +0200 |
---|---|---|
committer | Ilya Dryomov <ilya.dryomov@inktank.com> | 2013-12-31 20:31:55 +0200 |
commit | e1b4d96dea61c3078775090e8b121f571aab8fda (patch) | |
tree | 9e37bd2aab0ab5b339862046602c9359d827e4d8 | |
parent | 90da258b887538ed3a2f904fa593173f26a1adbc (diff) |
rbd: refactor rbd_init() a bit
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>
-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; } |