diff --git a/modules/cas_cache/layer_cache_management.c b/modules/cas_cache/layer_cache_management.c index 534bac3..6d9060a 100644 --- a/modules/cas_cache/layer_cache_management.c +++ b/modules/cas_cache/layer_cache_management.c @@ -2946,7 +2946,7 @@ int cache_mngt_exit_instance(const char *cache_name, size_t name_len, int flush) goto stop_thread; } } else { - status = kcas_cache_destroy_exported_object(cache); + status = cache_mngt_destroy_cache_exp_obj(cache); if (status != 0) { printk(KERN_WARNING "Failed to remove cache exported object\n"); diff --git a/modules/cas_cache/volume/vol_block_dev_top.c b/modules/cas_cache/volume/vol_block_dev_top.c index 7931c48..edd7040 100644 --- a/modules/cas_cache/volume/vol_block_dev_top.c +++ b/modules/cas_cache/volume/vol_block_dev_top.c @@ -571,9 +571,14 @@ end: static int kcas_volume_destroy_exported_object(ocf_volume_t volume) { - struct bd_object *bvol = bd_object(volume); + struct bd_object *bvol; int result; + BUG_ON(!volume); + + bvol = bd_object(volume); + BUG_ON(!bvol); + if (!bvol->expobj_valid) return 0;