ret = cache_alloc(ca);
if (ret != 0) {
+ if (ret == -ENOMEM)
+ err = "cache_alloc(): -ENOMEM";
+ else if (ret == -EPERM)
+ err = "cache_alloc(): cache device is too small";
+ else
+ err = "cache_alloc(): unknown error";
+ pr_notice("error %pg: %s\n", bdev_handle->bdev, err);
/*
* If we failed here, it means ca->kobj is not initialized yet,
* kobject_put() won't be called and there is no chance to
* we explicitly call bdev_release() here.
*/
bdev_release(bdev_handle);
- if (ret == -ENOMEM)
- err = "cache_alloc(): -ENOMEM";
- else if (ret == -EPERM)
- err = "cache_alloc(): cache device is too small";
- else
- err = "cache_alloc(): unknown error";
- goto err;
+ return ret;
}
if (kobject_add(&ca->kobj, bdev_kobj(bdev_handle->bdev), "bcache")) {
- err = "error calling kobject_add";
+ pr_notice("error %pg: error calling kobject_add\n",
+ bdev_handle->bdev);
ret = -ENOMEM;
goto out;
}
out:
kobject_put(&ca->kobj);
-
-err:
- if (err)
- pr_notice("error %pg: %s\n", ca->bdev_handle->bdev, err);
-
return ret;
}