1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00

pre-release

This commit is contained in:
Alasdair Kergon 2010-11-08 19:37:40 +00:00
parent e702a9c7ed
commit 962e678174
5 changed files with 23 additions and 19 deletions

View File

@ -1 +1 @@
2.02.76(2)-cvs (2010-10-25) 2.02.76(2)-cvs (2010-11-08)

View File

@ -1 +1 @@
1.02.57-cvs (2010-10-25) 1.02.57-cvs (2010-11-08)

View File

@ -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. Clarify error messages when activation fails due to activation filter use.
Add initial script VolumeGroup.ocf for pacemaker support. Add pacemaker script VolumeGroup.ocf with configure --enable-ocf.
Fix regex optimiser not to ignore RHS of OR nodes in _find_leftmost_common. Import make.tmpl into include/ Makefile.
Fix handling of online filesystem resize (using new fsadm return code). Fix handling of online filesystem resize (using new fsadm return code).
Add DIAGNOSTICS section to fsadm man page. Add DIAGNOSTICS section to fsadm man page.
Modify fsadm to return different status code for check of mounted filesystem. Modify fsadm to return different status code for check of mounted filesystem.
Update VG metadata only once in vgchange when making multiple changes. Update VG metadata only once in vgchange when making multiple changes.
Allow independent vgchange arguments to be used together. Allow independent vgchange arguments to be used together.
Automatically unmount invalidated snapshots in dmeventd. Automatically unmount invalidated snapshots in dmeventd.
Suppress some superfluous messages from clang static analysis.
Fix a deadlock caused by double close in clvmd. 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. 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. Use static for internal _align_chunk() and _new_chunk() from pool-fast.c.
Fix vgchange to process -a, --refresh, --monitor and --poll like lvchange. Fix vgchange to process -a, --refresh, --monitor and --poll like lvchange.

View File

@ -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. Fix memory leak of field_id in _output_field function.
Allocate buffer for reporting functions dynamically to support long outputs. Allocate buffer for reporting functions dynamically to support long outputs.

View File

@ -184,8 +184,12 @@ static void child_init_signal(int status)
write(child_pipe[1], &status, sizeof(status)); write(child_pipe[1], &status, sizeof(status));
close(child_pipe[1]); 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) 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 potential clients will block rather than error if we are running
but the cluster is not ready yet */ but the cluster is not ready yet */
local_sock = open_local_sock(); local_sock = open_local_sock();
if (local_sock < 0) if (local_sock < 0) {
child_init_signal(DFAIL_LOCAL_SOCK); child_init_signal_and_exit(DFAIL_LOCAL_SOCK);
/* NOTREACHED */
}
/* Set up signal handlers, USR1 is for cluster change notifications (in cman) /* Set up signal handlers, USR1 is for cluster change notifications (in cman)
USR2 causes child threads to exit. USR2 causes child threads to exit.
@ -498,10 +504,8 @@ int main(int argc, char *argv[])
if (!clops) { if (!clops) {
DEBUGLOG("Can't initialise cluster interface\n"); DEBUGLOG("Can't initialise cluster interface\n");
log_error("Can't initialise cluster interface\n"); log_error("Can't initialise cluster interface\n");
child_init_signal(DFAIL_CLUSTER_IF); child_init_signal_and_exit(DFAIL_CLUSTER_IF);
#ifdef __clang__ /* NOTREACHED */
__builtin_unreachable();
#endif
} }
DEBUGLOG("Cluster ready, doing some more initialisation\n"); 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 */ /* Add the local socket to the list */
newfd = malloc(sizeof(struct local_client)); newfd = malloc(sizeof(struct local_client));
if (!newfd) { if (!newfd) {
child_init_signal(DFAIL_MALLOC); child_init_signal_and_exit(DFAIL_MALLOC);
#ifdef __clang__ /* NOTREACHED */
__builtin_unreachable();
#endif
} }
newfd->fd = local_sock; newfd->fd = local_sock;