From c16c1a9f7071ab91e0f14f42d172adfe0db1e9cf Mon Sep 17 00:00:00 2001 From: Alasdair G Kergon Date: Fri, 4 Apr 2014 01:37:43 +0100 Subject: [PATCH] clvmd: Update new remove_info INTERNAL_ERRORS. --- daemons/clvmd/lvm-functions.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/daemons/clvmd/lvm-functions.c b/daemons/clvmd/lvm-functions.c index 4ce0fcc15..f4fb7fd74 100644 --- a/daemons/clvmd/lvm-functions.c +++ b/daemons/clvmd/lvm-functions.c @@ -180,15 +180,17 @@ static int insert_info(const char *resource, struct lv_info *lvi) static void remove_info(const char *resource) { + int num_open; + pthread_mutex_lock(&lv_hash_lock); dm_hash_remove(lv_hash, resource); /* When last lock is remove, validate there are not left opened devices */ if (!dm_hash_get_first(lv_hash)) { - if (dev_cache_check_for_open_devices()) - log_error(INTERNAL_ERROR "Nothing is locked however there are still opened devices."); if (critical_section()) - log_error(INTERNAL_ERROR "Nothing is locked however clvmd is left in critical section."); + log_error(INTERNAL_ERROR "No volumes are locked however clvmd is in activation mode critical section."); + if ((num_open = dev_cache_check_for_open_devices())) + log_error(INTERNAL_ERROR "No volumes are locked however %d devices are still open.", num_open); } pthread_mutex_unlock(&lv_hash_lock);