Merge pull request #459 from mmichal10/handle-null-pointer
Properly handle all errors
This commit is contained in:
commit
874adc3724
@ -1606,22 +1606,12 @@ out_get:
|
||||
static int _cache_mngt_create_exported_object(ocf_core_t core, void *cntx)
|
||||
{
|
||||
int result;
|
||||
ocf_cache_t cache = ocf_core_get_cache(core);
|
||||
|
||||
result = block_dev_create_exported_object(core);
|
||||
if (result) {
|
||||
printk(KERN_ERR "Cannot to create exported object, %s.%s\n",
|
||||
ocf_cache_get_name(cache),
|
||||
ocf_core_get_name(core));
|
||||
if (result)
|
||||
return result;
|
||||
}
|
||||
|
||||
result = block_dev_activate_exported_object(core);
|
||||
if (result) {
|
||||
printk(KERN_ERR "Cannot to activate exported object, %s.%s\n",
|
||||
ocf_cache_get_name(cache),
|
||||
ocf_core_get_name(core));
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
@ -822,16 +822,24 @@ int block_dev_activate_exported_object(ocf_core_t core)
|
||||
{
|
||||
int ret;
|
||||
ocf_volume_t obj = ocf_core_get_volume(core);
|
||||
ocf_cache_t cache = ocf_core_get_cache(core);
|
||||
struct bd_object *bvol = bd_object(obj);
|
||||
|
||||
if (!cas_upgrade_is_in_upgrade()) {
|
||||
ret = casdisk_functions.casdsk_exp_obj_activate(bvol->dsk);
|
||||
if (-EEXIST == ret)
|
||||
return KCAS_ERR_FILE_EXISTS;
|
||||
ret = KCAS_ERR_FILE_EXISTS;
|
||||
} else {
|
||||
ret = casdisk_functions.casdsk_disk_attach(bvol->dsk, THIS_MODULE,
|
||||
&_blockdev_exp_obj_ops);
|
||||
}
|
||||
|
||||
if (ret) {
|
||||
printk(KERN_ERR "Cannot activate exported object, %s.%s. "
|
||||
"Error code %d\n", ocf_cache_get_name(cache),
|
||||
ocf_core_get_name(core), ret);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -871,8 +879,10 @@ int block_dev_create_exported_object(ocf_core_t core)
|
||||
get_core_id_string(core));
|
||||
|
||||
dsk = casdisk_functions.casdsk_disk_claim(uuid->data, core);
|
||||
if (dsk != bvol->dsk)
|
||||
return -KCAS_ERR_SYSTEM;
|
||||
if (dsk != bvol->dsk) {
|
||||
result = -KCAS_ERR_SYSTEM;
|
||||
goto end;
|
||||
}
|
||||
|
||||
if (cas_upgrade_is_in_upgrade()) {
|
||||
bvol->expobj_valid = true;
|
||||
@ -884,6 +894,11 @@ int block_dev_create_exported_object(ocf_core_t core)
|
||||
if (!result)
|
||||
bvol->expobj_valid = true;
|
||||
|
||||
end:
|
||||
if (result) {
|
||||
printk(KERN_ERR "Cannot create exported object %s. Error code %d\n",
|
||||
dev_name, result);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
@ -557,8 +557,8 @@ int casdsk_exp_obj_create(struct casdsk_disk *dsk, const char *dev_name,
|
||||
}
|
||||
|
||||
queue = blk_mq_init_queue(&dsk->tag_set);
|
||||
if (!queue) {
|
||||
result = -ENOMEM;
|
||||
if (IS_ERR_OR_NULL(queue)) {
|
||||
result = queue ? PTR_ERR(queue) : -ENOMEM;
|
||||
goto error_init_queue;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user