From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32390 invoked by alias); 31 Aug 2006 22:21:01 -0000 Received: (qmail 32374 invoked by uid 9447); 31 Aug 2006 22:21:01 -0000 Date: Thu, 31 Aug 2006 22:21:00 -0000 Message-ID: <20060831222101.32372.qmail@sourceware.org> From: agk@sourceware.org To: lvm2-cvs@sourceware.org Subject: LVM2 ./WHATS_NEW lib/commands/toolcontext.c li ... Mailing-List: contact lvm2-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Post: List-Help: , Sender: lvm2-cvs-owner@sourceware.org X-SW-Source: 2006-08/txt/msg00025.txt.bz2 List-Id: 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 #include @@ -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);