This is the mail archive of the
lvm2-cvs@sourceware.org
mailing list for the LVM2 project.
LVM2 ./WHATS_NEW lib/commands/toolcontext.c li ...
- From: agk at sourceware dot org
- To: lvm2-cvs at sourceware dot org
- Date: 31 Aug 2006 22:21:01 -0000
- Subject: LVM2 ./WHATS_NEW lib/commands/toolcontext.c li ...
CVSROOT: /cvs/lvm2
Module name: LVM2
Changes by: agk@sourceware.org 2006-08-31 22:21:00
Modified files:
. : WHATS_NEW
lib/commands : toolcontext.c
lib/locking : locking.c
lib/misc : sharedlib.c
Log message:
lvm.static uses built-in cluster locking instead of external locking.
Don't attempt to load shared libraries if built statically.
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/WHATS_NEW.diff?cvsroot=lvm2&r1=1.433&r2=1.434
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/commands/toolcontext.c.diff?cvsroot=lvm2&r1=1.41&r2=1.42
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/locking/locking.c.diff?cvsroot=lvm2&r1=1.31&r2=1.32
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/misc/sharedlib.c.diff?cvsroot=lvm2&r1=1.12&r2=1.13
--- LVM2/WHATS_NEW 2006/08/31 20:56:33 1.433
+++ LVM2/WHATS_NEW 2006/08/31 22:21:00 1.434
@@ -1,5 +1,7 @@
Version 2.02.10 -
==================================
+ lvm.static uses built-in cluster locking instead of external locking.
+ Don't attempt to load shared libraries if built statically.
Change default locking_lib to liblvm2clusterlock.so.
Add skip_dev_dir() to process command line VGs.
Stop clvmd complaining about nodes that have left the cluster.
--- LVM2/lib/commands/toolcontext.c 2006/08/21 12:54:51 1.41
+++ LVM2/lib/commands/toolcontext.c 2006/08/31 22:21:00 1.42
@@ -646,8 +646,9 @@
#endif
#ifdef HAVE_LIBDL
- /* Load any formats in shared libs */
- if ((cn = find_config_tree_node(cmd, "global/format_libraries"))) {
+ /* Load any formats in shared libs if not static */
+ if (!cmd->is_static &&
+ (cn = find_config_tree_node(cmd, "global/format_libraries"))) {
struct config_value *cv;
struct format_type *(*init_format_fn) (struct cmd_context *);
@@ -740,8 +741,9 @@
#endif
#ifdef HAVE_LIBDL
- /* Load any formats in shared libs */
- if ((cn = find_config_tree_node(cmd, "global/segment_libraries"))) {
+ /* Load any formats in shared libs unless static */
+ if (!cmd->is_static &&
+ (cn = find_config_tree_node(cmd, "global/segment_libraries"))) {
struct config_value *cv;
struct segment_type *(*init_segtype_fn) (struct cmd_context *);
--- LVM2/lib/locking/locking.c 2006/08/21 12:54:52 1.31
+++ LVM2/lib/locking/locking.c 2006/08/31 22:21:00 1.32
@@ -134,24 +134,27 @@
return 1;
case 1:
+ log_very_verbose("File-based locking selected.");
if (!init_file_locking(&_locking, cmd))
break;
- log_very_verbose("File-based locking enabled.");
return 1;
#ifdef HAVE_LIBDL
case 2:
- if (!init_external_locking(&_locking, cmd))
- break;
- log_very_verbose("External locking enabled.");
- return 1;
+ if (!cmd->is_static) {
+ log_very_verbose("External locking selected.");
+ if (!init_external_locking(&_locking, cmd))
+ break;
+ return 1;
+ }
+ /* Fall through */
#endif
#ifdef CLUSTER_LOCKING_INTERNAL
case 3:
+ log_very_verbose("Cluster locking selected.");
if (!init_cluster_locking(&_locking, cmd))
break;
- log_very_verbose("Cluster locking enabled.");
return 1;
#endif
--- LVM2/lib/misc/sharedlib.c 2006/08/21 12:54:53 1.12
+++ LVM2/lib/misc/sharedlib.c 2006/08/31 22:21:00 1.13
@@ -17,6 +17,7 @@
#include "config.h"
#include "lvm-string.h"
#include "sharedlib.h"
+#include "toolcontext.h"
#include <limits.h>
#include <sys/stat.h>
@@ -43,6 +44,12 @@
char path[PATH_MAX];
void *library;
+ if (cmd->is_static) {
+ log_error("Not loading shared %s library %s in static mode.",
+ desc, libname);
+ return NULL;
+ }
+
get_shared_library_path(cmd, libname, path, sizeof(path));
log_very_verbose("Opening shared %s library %s", desc, path);