[lvm-devel] LVM2 ./WHATS_NEW daemons/clvmd/clvmd.c
zkabelac at sourceware.org
zkabelac at sourceware.org
Mon Feb 27 11:26:27 UTC 2012
CVSROOT: /cvs/lvm2
Module name: LVM2
Changes by: zkabelac at sourceware.org 2012-02-27 11:26:26
Modified files:
. : WHATS_NEW
daemons/clvmd : clvmd.c
Log message:
Nicer cleanup of excl_uuid hash
Since it on exit path, it's not a big difference,
but makes less noise in analyzer and valgrind.
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/WHATS_NEW.diff?cvsroot=lvm2&r1=1.2316&r2=1.2317
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/daemons/clvmd/clvmd.c.diff?cvsroot=lvm2&r1=1.122&r2=1.123
--- LVM2/WHATS_NEW 2012/02/27 11:23:15 1.2316
+++ LVM2/WHATS_NEW 2012/02/27 11:26:25 1.2317
@@ -1,5 +1,6 @@
Version 2.02.94 -
====================================
+ Add missing cleanup of excl_uuid hash on some exit paths of clvmd.
Check for existance of vg_name in _format1/_pool_vg_read().
Fix missing break in _format_pvsegs (2.02.92).
Test seg pointer for non-null it in raid_target_percent error path.
--- LVM2/daemons/clvmd/clvmd.c 2012/02/27 10:17:06 1.122
+++ LVM2/daemons/clvmd/clvmd.c 2012/02/27 11:26:25 1.123
@@ -345,6 +345,7 @@
debug_t debug_arg = DEBUG_OFF;
int clusterwide_opt = 0;
mode_t old_mask;
+ int ret = 1;
struct option longopts[] = {
{ "help", 0, 0, 'h' },
@@ -372,7 +373,8 @@
case 'S':
check_permissions();
- return restart_clvmd(clusterwide_opt)==1?0:1;
+ ret = (restart_clvmd(clusterwide_opt) == 1) ? 0 : 1;
+ goto out;
case 'C':
clusterwide_opt = 1;
@@ -402,7 +404,7 @@
case 'E':
if (!dm_hash_insert(lvm_params.excl_uuid, optarg, optarg)) {
fprintf(stderr, "Failed to allocate hash entry\n");
- return 1;
+ goto out;
}
break;
case 'T':
@@ -624,9 +626,11 @@
free(delfd);
}
+ ret = 0;
+out:
dm_hash_destroy(lvm_params.excl_uuid);
- return 0;
+ return ret;
}
/* Called when the cluster layer has completed initialisation.
More information about the lvm-devel
mailing list