Index: VERSION =================================================================== RCS file: /cvs/lvm2/LVM2/VERSION,v retrieving revision 1.222 retrieving revision 1.223 diff -u -r1.222 -r1.223 --- a/VERSION 21 Jan 2010 23:55:17 -0000 1.222 +++ b/VERSION 22 Jan 2010 01:09:09 -0000 1.223 @@ -1 +1 @@ -2.02.59(1) (2010-01-21) +2.02.59(1)-rh (2010-01-22) Index: VERSION_DM =================================================================== RCS file: /cvs/lvm2/LVM2/VERSION_DM,v retrieving revision 1.34 retrieving revision 1.35 diff -u -r1.34 -r1.35 --- a/VERSION_DM 21 Jan 2010 23:55:17 -0000 1.34 +++ b/VERSION_DM 22 Jan 2010 01:09:09 -0000 1.35 @@ -1 +1 @@ -1.02.43 (2010-01-21) +1.02.43-rh (2010-01-22) Index: WHATS_NEW =================================================================== RCS file: /cvs/lvm2/LVM2/WHATS_NEW,v retrieving revision 1.1400 retrieving revision 1.1402 diff -u -r1.1400 -r1.1402 --- a/WHATS_NEW 21 Jan 2010 23:55:17 -0000 1.1400 +++ b/WHATS_NEW 22 Jan 2010 09:45:29 -0000 1.1402 @@ -1,3 +1,8 @@ +Version 2.02.60 +=================================== + FIXME: SEVERAL ENTRIES MISSING HERE (BUG FIXES) + Fix failed locking messages to be more descriptive. + Version 2.02.59 - 21st January 2010 =================================== Add libdevmapper-event-lvm2.so to serialise dmeventd plugin liblvm2cmd use. Index: WHATS_NEW_DM =================================================================== RCS file: /cvs/lvm2/LVM2/WHATS_NEW_DM,v retrieving revision 1.339 retrieving revision 1.340 diff -u -r1.339 -r1.340 --- a/WHATS_NEW_DM 21 Jan 2010 23:55:17 -0000 1.339 +++ b/WHATS_NEW_DM 22 Jan 2010 01:09:09 -0000 1.340 @@ -1,3 +1,6 @@ +Version 1.02.44 +=================================== + Version 1.02.43 - 21st January 2010 =================================== Remove bitset, hash and pool headers superceded by libdevmapper.h. Index: make.tmpl.in =================================================================== RCS file: /cvs/lvm2/LVM2/make.tmpl.in,v retrieving revision 1.74 retrieving revision 1.75 diff -u -r1.74 -r1.75 --- a/make.tmpl.in 19 Jan 2010 01:10:46 -0000 1.74 +++ b/make.tmpl.in 22 Jan 2010 13:20:32 -0000 1.75 @@ -78,7 +78,10 @@ ifeq ("@DEBUG@", "yes") CFLAGS += -g -fno-omit-frame-pointer DEFS += -DDEBUG - DEFS += -DDEBUG_MEM + # memory debugging is not thread-safe yet + ifneq ("@DMEVENTD@", "yes") + DEFS += -DDEBUG_MEM + endif endif ifeq ("@INTL@", "yes") Index: daemons/dmeventd/plugins/lvm2/.exported_symbols =================================================================== RCS file: /cvs/lvm2/LVM2/daemons/dmeventd/plugins/lvm2/.exported_symbols,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- a/daemons/dmeventd/plugins/lvm2/.exported_symbols 21 Jan 2010 22:15:46 -0000 1.1 +++ b/daemons/dmeventd/plugins/lvm2/.exported_symbols 22 Jan 2010 12:38:16 -0000 1.2 @@ -1,6 +1,6 @@ -init_lvm -fini_lvm -lock_lvm -unlock_lvm -lvm_pool -lvm_handle +dmeventd_lvm2_init +dmeventd_lvm2_exit +dmeventd_lvm2_lock +dmeventd_lvm2_unlock +dmeventd_lvm2_pool +dmeventd_lvm2_run Index: daemons/dmeventd/plugins/mirror/dmeventd_mirror.c =================================================================== RCS file: /cvs/lvm2/LVM2/daemons/dmeventd/plugins/mirror/dmeventd_mirror.c,v retrieving revision 1.30 retrieving revision 1.31 diff -u -r1.30 -r1.31 --- a/daemons/dmeventd/plugins/mirror/dmeventd_mirror.c 21 Jan 2010 22:15:46 -0000 1.30 +++ b/daemons/dmeventd/plugins/mirror/dmeventd_mirror.c 22 Jan 2010 12:48:58 -0000 1.31 @@ -225,8 +225,9 @@ int minor __attribute((unused)), void **unused __attribute((unused))) { + int r = dmeventd_lvm2_init(); syslog(LOG_INFO, "Monitoring mirror device %s for events", device); - return dmeventd_lvm2_init(); + return r; } int unregister_device(const char *device, Index: daemons/dmeventd/plugins/snapshot/dmeventd_snapshot.c =================================================================== RCS file: /cvs/lvm2/LVM2/daemons/dmeventd/plugins/snapshot/dmeventd_snapshot.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- a/daemons/dmeventd/plugins/snapshot/dmeventd_snapshot.c 22 Jan 2010 00:18:37 -0000 1.6 +++ b/daemons/dmeventd/plugins/snapshot/dmeventd_snapshot.c 22 Jan 2010 12:48:58 -0000 1.7 @@ -120,11 +120,12 @@ void **private) { int *percent_warning = (int*)private; + int r = dmeventd_lvm2_init(); *percent_warning = WARNING_THRESH; /* Print warning if snapshot is full */ syslog(LOG_INFO, "Monitoring snapshot %s\n", device); - return dmeventd_lvm2_init(); + return r; } int unregister_device(const char *device, Index: lib/activate/dev_manager.c =================================================================== RCS file: /cvs/lvm2/LVM2/lib/activate/dev_manager.c,v retrieving revision 1.175 retrieving revision 1.176 diff -u -r1.175 -r1.176 --- a/lib/activate/dev_manager.c 15 Jan 2010 22:58:25 -0000 1.175 +++ b/lib/activate/dev_manager.c 22 Jan 2010 13:28:54 -0000 1.176 @@ -327,7 +327,6 @@ return 0; } -/* FIXME Is there anything simpler to check for instead? */ static int _lv_has_target_type(struct dev_manager *dm, struct logical_volume *lv, const char *layer, @@ -363,8 +362,7 @@ &type, ¶ms); if (type && strncmp(type, target_type, strlen(target_type)) == 0) { - /* FIXME Why the inactive test? */ - if (info.live_table && !info.inactive_table) + if (info.live_table) r = 1; break; } @@ -1141,6 +1139,7 @@ 0, 1, 0, &dinfo, NULL) && dinfo.open_count) || (dev_manager_info(dm->mem, NULL, find_merging_cow(lv)->cow, 0, 1, 0, &dinfo, NULL) && dinfo.open_count)) { + /* FIXME Is there anything simpler to check for instead? */ if (!_lv_has_target_type(dm, lv, NULL, "snapshot-merge")) clear_snapshot_merge(lv); } Index: lib/locking/locking.c =================================================================== RCS file: /cvs/lvm2/LVM2/lib/locking/locking.c,v retrieving revision 1.72 retrieving revision 1.73 diff -u -r1.72 -r1.73 --- a/lib/locking/locking.c 13 Jan 2010 17:40:17 -0000 1.72 +++ b/lib/locking/locking.c 22 Jan 2010 09:45:29 -0000 1.73 @@ -224,7 +224,7 @@ _blocking_supported = find_config_tree_int(cmd, "global/wait_for_locks", DEFAULT_WAIT_FOR_LOCKS); - + switch (type) { case 0: init_no_locking(&_locking, cmd); @@ -236,8 +236,10 @@ log_very_verbose("%sFile-based locking selected.", _blocking_supported ? "" : "Non-blocking "); - if (!init_file_locking(&_locking, cmd)) + if (!init_file_locking(&_locking, cmd)) { + log_error("File-based locking initialisation failed."); break; + } return 1; #ifdef HAVE_LIBDL @@ -249,8 +251,10 @@ } if (!find_config_tree_int(cmd, "locking/fallback_to_clustered_locking", find_config_tree_int(cmd, "global/fallback_to_clustered_locking", - DEFAULT_FALLBACK_TO_CLUSTERED_LOCKING))) + DEFAULT_FALLBACK_TO_CLUSTERED_LOCKING))) { + log_error("External locking initialisation failed."); break; + } #endif #ifdef CLUSTER_LOCKING_INTERNAL @@ -259,8 +263,10 @@ case 3: log_very_verbose("Cluster locking selected."); - if (!init_cluster_locking(&_locking, cmd)) + if (!init_cluster_locking(&_locking, cmd)) { + log_error("Internal cluster locking initialisation failed."); break; + } return 1; #endif @@ -285,6 +291,8 @@ "be inaccessible."); if (init_file_locking(&_locking, cmd)) return 1; + else + log_error("File-based locking initialisation failed."); } if (!ignorelockingfailure()) Index: lib/locking/no_locking.c =================================================================== RCS file: /cvs/lvm2/LVM2/lib/locking/no_locking.c,v retrieving revision 1.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- a/lib/locking/no_locking.c 11 Dec 2009 13:16:38 -0000 1.20 +++ b/lib/locking/no_locking.c 22 Jan 2010 09:45:29 -0000 1.21 @@ -72,7 +72,7 @@ (flags & LCK_SCOPE_MASK) == LCK_VG && !(flags & LCK_CACHE) && strcmp(resource, VG_GLOBAL)) { - log_error("Write locks are prohibited with --ignorelockingfailure."); + log_error("Write locks are prohibited with read-only locking."); return 0; } Index: liblvm/lvm_base.c =================================================================== RCS file: /cvs/lvm2/LVM2/liblvm/lvm_base.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- a/liblvm/lvm_base.c 29 Jul 2009 18:38:27 -0000 1.13 +++ b/liblvm/lvm_base.c 22 Jan 2010 09:45:29 -0000 1.14 @@ -51,7 +51,6 @@ /* initialize locking */ if (!init_locking(-1, cmd)) { /* FIXME: use EAGAIN as error code here */ - log_error("Locking initialisation failed."); lvm_quit((lvm_t) cmd); return NULL; } Index: tools/lvmcmdline.c =================================================================== RCS file: /cvs/lvm2/LVM2/tools/lvmcmdline.c,v retrieving revision 1.112 retrieving revision 1.113 diff -u -r1.112 -r1.113 --- a/tools/lvmcmdline.c 21 Jan 2010 13:41:39 -0000 1.112 +++ b/tools/lvmcmdline.c 22 Jan 2010 09:45:29 -0000 1.113 @@ -1027,8 +1027,6 @@ locking_type = -1; if (!init_locking(locking_type, cmd)) { - log_error("Locking type %d initialisation failed.", - locking_type); ret = ECMD_FAILED; goto out; }