summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlasdair Kergon <agk@redhat.com>2010-11-08 19:37:40 +0000
committerAlasdair Kergon <agk@redhat.com>2010-11-08 19:37:40 +0000
commitab3b542a188c9dcf1a170b33f5077bcfd1744098 (patch)
treefd79f50301bf461e6dee242aa043c6807df35f3b
parent262ff6e9d3d0102263fa8769baa9ff7fda3754ed (diff)
downloadlvm2-2_02_76.tar.gz
pre-releasev2_02_76
-rw-r--r--VERSION2
-rw-r--r--VERSION_DM2
-rw-r--r--WHATS_NEW8
-rw-r--r--WHATS_NEW_DM4
-rw-r--r--daemons/clvmd/clvmd.c26
5 files changed, 23 insertions, 19 deletions
diff --git a/VERSION b/VERSION
index 33a6cefde..1464a3042 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.02.76(2)-cvs (2010-10-25)
+2.02.76(2)-cvs (2010-11-08)
diff --git a/VERSION_DM b/VERSION_DM
index d5f921b12..08acb60ce 100644
--- a/VERSION_DM
+++ b/VERSION_DM
@@ -1 +1 @@
-1.02.57-cvs (2010-10-25)
+1.02.57-cvs (2010-11-08)
diff --git a/WHATS_NEW b/WHATS_NEW
index 6dca0483b..f18f13593 100644
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,16 +1,16 @@
-Version 2.02.76 -
+Version 2.02.76 - 8th November 2010
===================================
Clarify error messages when activation fails due to activation filter use.
- Add initial script VolumeGroup.ocf for pacemaker support.
- Fix regex optimiser not to ignore RHS of OR nodes in _find_leftmost_common.
+ Add pacemaker script VolumeGroup.ocf with configure --enable-ocf.
+ Import make.tmpl into include/ Makefile.
Fix handling of online filesystem resize (using new fsadm return code).
Add DIAGNOSTICS section to fsadm man page.
Modify fsadm to return different status code for check of mounted filesystem.
Update VG metadata only once in vgchange when making multiple changes.
Allow independent vgchange arguments to be used together.
Automatically unmount invalidated snapshots in dmeventd.
+ Suppress some superfluous messages from clang static analysis.
Fix a deadlock caused by double close in clvmd.
- Add dmeventd -R to restart dmeventd without losing monitoring state. (2.02.75)
Fix NULL pointer dereference on too-large MDA error path in _vg_read_raw_area.
Use static for internal _align_chunk() and _new_chunk() from pool-fast.c.
Fix vgchange to process -a, --refresh, --monitor and --poll like lvchange.
diff --git a/WHATS_NEW_DM b/WHATS_NEW_DM
index fbe691bdf..1089a2ebe 100644
--- a/WHATS_NEW_DM
+++ b/WHATS_NEW_DM
@@ -1,5 +1,7 @@
-Version 1.02.57
+Version 1.02.57 - 8th November 2010
===================================
+ Fix regex optimiser not to ignore RHS of OR nodes in _find_leftmost_common.
+ Add dmeventd -R to restart dmeventd without losing monitoring state. (1.02.56)
Fix memory leak of field_id in _output_field function.
Allocate buffer for reporting functions dynamically to support long outputs.
diff --git a/daemons/clvmd/clvmd.c b/daemons/clvmd/clvmd.c
index 706f15bcc..1a9d40e28 100644
--- a/daemons/clvmd/clvmd.c
+++ b/daemons/clvmd/clvmd.c
@@ -184,8 +184,12 @@ static void child_init_signal(int status)
write(child_pipe[1], &status, sizeof(status));
close(child_pipe[1]);
}
- if (status)
- exit(status);
+}
+
+static __attribute__((noreturn)) void child_init_signal_and_exit(int status)
+{
+ child_init_signal(status);
+ exit(status);
}
static void safe_close(int *fd)
@@ -420,8 +424,10 @@ int main(int argc, char *argv[])
potential clients will block rather than error if we are running
but the cluster is not ready yet */
local_sock = open_local_sock();
- if (local_sock < 0)
- child_init_signal(DFAIL_LOCAL_SOCK);
+ if (local_sock < 0) {
+ child_init_signal_and_exit(DFAIL_LOCAL_SOCK);
+ /* NOTREACHED */
+ }
/* Set up signal handlers, USR1 is for cluster change notifications (in cman)
USR2 causes child threads to exit.
@@ -498,10 +504,8 @@ int main(int argc, char *argv[])
if (!clops) {
DEBUGLOG("Can't initialise cluster interface\n");
log_error("Can't initialise cluster interface\n");
- child_init_signal(DFAIL_CLUSTER_IF);
-#ifdef __clang__
- __builtin_unreachable();
-#endif
+ child_init_signal_and_exit(DFAIL_CLUSTER_IF);
+ /* NOTREACHED */
}
DEBUGLOG("Cluster ready, doing some more initialisation\n");
@@ -517,10 +521,8 @@ int main(int argc, char *argv[])
/* Add the local socket to the list */
newfd = malloc(sizeof(struct local_client));
if (!newfd) {
- child_init_signal(DFAIL_MALLOC);
-#ifdef __clang__
- __builtin_unreachable();
-#endif
+ child_init_signal_and_exit(DFAIL_MALLOC);
+ /* NOTREACHED */
}
newfd->fd = local_sock;