From df36c027a6455f7e9a481754007803a9ab1c62c5 Mon Sep 17 00:00:00 2001 From: Robert Baldyga Date: Thu, 31 Mar 2022 21:36:27 +0200 Subject: [PATCH] Do not destroy expobj_wq if destroying exporting object failed Signed-off-by: Robert Baldyga --- modules/cas_cache/volume/vol_block_dev_top.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/modules/cas_cache/volume/vol_block_dev_top.c b/modules/cas_cache/volume/vol_block_dev_top.c index 436acce..5ea7959 100644 --- a/modules/cas_cache/volume/vol_block_dev_top.c +++ b/modules/cas_cache/volume/vol_block_dev_top.c @@ -584,11 +584,13 @@ static int kcas_volume_destroy_exported_object(ocf_volume_t volume) return result; result = casdisk_functions.casdsk_exp_obj_destroy(bvol->dsk); - if (!result) - bvol->expobj_valid = false; + if (result) + goto out; + bvol->expobj_valid = false; destroy_workqueue(bvol->expobj_wq); +out: casdisk_functions.casdsk_exp_obj_unlock(bvol->dsk); return result;