summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--WHATS_NEW1
-rwxr-xr-xconfigure135
-rw-r--r--configure.in8
-rw-r--r--daemons/clvmd/clvmd-command.c2
-rw-r--r--daemons/clvmd/lvm-functions.c4
-rw-r--r--lib/misc/configure.h.in6
6 files changed, 111 insertions, 45 deletions
diff --git a/WHATS_NEW b/WHATS_NEW
index c21a32e1..ae753e0d 100644
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,5 +1,6 @@
Version 2.02.67 -
===============================
+ Use absolute paths for clvmd restart.
Require partial option in lvchange --refresh for partial LVs.
Do not fail lvm_init() if init_logging() or _init_rand() generates an errno.
Don't merge unchanged persistent cache file before dumping if tool scanned.
diff --git a/configure b/configure
index 5383e6f7..ed896219 100755
--- a/configure
+++ b/configure
@@ -736,6 +736,8 @@ CCS_LIBS
CCS_CFLAGS
PKGCONFIGINIT_LIBS
PKGCONFIGINIT_CFLAGS
+PKG_CONFIG_LIBDIR
+PKG_CONFIG_PATH
PKG_CONFIG
POW_LIB
LIBOBJS
@@ -875,6 +877,8 @@ LIBS
CPPFLAGS
CPP
PKG_CONFIG
+PKG_CONFIG_PATH
+PKG_CONFIG_LIBDIR
PKGCONFIGINIT_CFLAGS
PKGCONFIGINIT_LIBS
CCS_CFLAGS
@@ -1603,6 +1607,10 @@ Some influential environment variables:
you have headers in a nonstandard directory <include dir>
CPP C preprocessor
PKG_CONFIG path to pkg-config utility
+ PKG_CONFIG_PATH
+ directories to add to pkg-config's search path
+ PKG_CONFIG_LIBDIR
+ path overriding pkg-config's built-in search path
PKGCONFIGINIT_CFLAGS
C compiler flags for PKGCONFIGINIT, overriding pkg-config
PKGCONFIGINIT_LIBS
@@ -9401,6 +9409,10 @@ $as_echo "$REALTIME" >&6; }
pkg_config_init() {
+
+
+
+
if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
@@ -9513,7 +9525,6 @@ $as_echo "yes" >&6; }
$as_echo "no" >&6; }
PKG_CONFIG=""
fi
-
fi
pkg_failed=no
@@ -9556,6 +9567,8 @@ fi
if test $pkg_failed = yes; then
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
_pkg_short_errors_supported=yes
@@ -9570,11 +9583,11 @@ fi
# Put the nasty error message in config.log where it belongs
echo "$PKGCONFIGINIT_PKG_ERRORS" >&5
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
- { $as_echo "$as_me:$LINENO: result: pkg-config initialized" >&5
+ { $as_echo "$as_me:$LINENO: result: pkg-config initialized" >&5
$as_echo "pkg-config initialized" >&6; }
elif test $pkg_failed = untried; then
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
{ $as_echo "$as_me:$LINENO: result: pkg-config initialized" >&5
$as_echo "pkg-config initialized" >&6; }
else
@@ -9582,7 +9595,7 @@ else
PKGCONFIGINIT_LIBS=$pkg_cv_PKGCONFIGINIT_LIBS
{ $as_echo "$as_me:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
- :
+
fi
PKGCONFIG_INIT=1
}
@@ -9788,6 +9801,8 @@ fi
if test $pkg_failed = yes; then
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
_pkg_short_errors_supported=yes
@@ -9802,9 +9817,7 @@ fi
# Put the nasty error message in config.log where it belongs
echo "$CCS_PKG_ERRORS" >&5
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
- NOTFOUND=0
+ NOTFOUND=0
for ac_header in ccs.h
do
@@ -9961,6 +9974,8 @@ $as_echo "no pkg for libccs, using -lccs" >&6; }
HAVE_CCS=yes
fi
elif test $pkg_failed = untried; then
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
NOTFOUND=0
for ac_header in ccs.h
@@ -10165,6 +10180,8 @@ fi
if test $pkg_failed = yes; then
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
_pkg_short_errors_supported=yes
@@ -10179,9 +10196,7 @@ fi
# Put the nasty error message in config.log where it belongs
echo "$GULM_PKG_ERRORS" >&5
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
- NOTFOUND=0
+ NOTFOUND=0
for ac_header in libgulm.h
do
@@ -10338,6 +10353,8 @@ $as_echo "no pkg for libgulm, using -lgulm" >&6; }
HAVE_GULM=yes
fi
elif test $pkg_failed = untried; then
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
NOTFOUND=0
for ac_header in libgulm.h
@@ -10545,6 +10562,8 @@ fi
if test $pkg_failed = yes; then
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
_pkg_short_errors_supported=yes
@@ -10559,9 +10578,7 @@ fi
# Put the nasty error message in config.log where it belongs
echo "$CMAN_PKG_ERRORS" >&5
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
- NOTFOUND=0
+ NOTFOUND=0
for ac_header in libcman.h
do
@@ -10718,6 +10735,8 @@ $as_echo "no pkg for libcman, using -lcman" >&6; }
HAVE_CMAN=yes
fi
elif test $pkg_failed = untried; then
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
NOTFOUND=0
for ac_header in libcman.h
@@ -10928,6 +10947,8 @@ fi
if test $pkg_failed = yes; then
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
_pkg_short_errors_supported=yes
@@ -10942,10 +10963,10 @@ fi
# Put the nasty error message in config.log where it belongs
echo "$COROSYNC_PKG_ERRORS" >&5
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
- $bailout
+ $bailout
elif test $pkg_failed = untried; then
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
$bailout
else
COROSYNC_CFLAGS=$pkg_cv_COROSYNC_CFLAGS
@@ -10999,6 +11020,8 @@ fi
if test $pkg_failed = yes; then
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
_pkg_short_errors_supported=yes
@@ -11013,10 +11036,10 @@ fi
# Put the nasty error message in config.log where it belongs
echo "$QUORUM_PKG_ERRORS" >&5
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
- $bailout
+ $bailout
elif test $pkg_failed = untried; then
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
$bailout
else
QUORUM_CFLAGS=$pkg_cv_QUORUM_CFLAGS
@@ -11071,6 +11094,8 @@ fi
if test $pkg_failed = yes; then
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
_pkg_short_errors_supported=yes
@@ -11085,10 +11110,10 @@ fi
# Put the nasty error message in config.log where it belongs
echo "$SALCK_PKG_ERRORS" >&5
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
- $bailout
+ $bailout
elif test $pkg_failed = untried; then
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
$bailout
else
SALCK_CFLAGS=$pkg_cv_SALCK_CFLAGS
@@ -11144,6 +11169,8 @@ fi
if test $pkg_failed = yes; then
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
_pkg_short_errors_supported=yes
@@ -11158,10 +11185,10 @@ fi
# Put the nasty error message in config.log where it belongs
echo "$CONFDB_PKG_ERRORS" >&5
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
- HAVE_CONFDB=no
+ HAVE_CONFDB=no
elif test $pkg_failed = untried; then
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
HAVE_CONFDB=no
else
CONFDB_CFLAGS=$pkg_cv_CONFDB_CFLAGS
@@ -11380,6 +11407,8 @@ fi
if test $pkg_failed = yes; then
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
_pkg_short_errors_supported=yes
@@ -11394,10 +11423,10 @@ fi
# Put the nasty error message in config.log where it belongs
echo "$CPG_PKG_ERRORS" >&5
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
- $bailout
+ $bailout
elif test $pkg_failed = untried; then
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
$bailout
else
CPG_CFLAGS=$pkg_cv_CPG_CFLAGS
@@ -11450,6 +11479,8 @@ fi
if test $pkg_failed = yes; then
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
_pkg_short_errors_supported=yes
@@ -11464,9 +11495,7 @@ fi
# Put the nasty error message in config.log where it belongs
echo "$DLM_PKG_ERRORS" >&5
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
- NOTFOUND=0
+ NOTFOUND=0
for ac_header in libdlm.h
do
@@ -11623,6 +11652,8 @@ $as_echo "no pkg for libdlm, using -ldlm" >&6; }
HAVE_DLM=yes
fi
elif test $pkg_failed = untried; then
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
NOTFOUND=0
for ac_header in libdlm.h
@@ -11905,6 +11936,8 @@ fi
if test $pkg_failed = yes; then
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
_pkg_short_errors_supported=yes
@@ -11928,8 +11961,7 @@ installed software in a non-standard prefix.
Alternatively, you may set the environment variables SACKPT_CFLAGS
and SACKPT_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-" >&5
+See the pkg-config man page for more details." >&5
$as_echo "$as_me: error: Package requirements (libSaCkpt) were not met:
$SACKPT_PKG_ERRORS
@@ -11939,10 +11971,11 @@ installed software in a non-standard prefix.
Alternatively, you may set the environment variables SACKPT_CFLAGS
and SACKPT_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-" >&2;}
+See the pkg-config man page for more details." >&2;}
{ (exit 1); exit 1; }; }
elif test $pkg_failed = untried; then
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
{ { $as_echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it
@@ -11971,7 +12004,7 @@ else
SACKPT_LIBS=$pkg_cv_SACKPT_LIBS
{ $as_echo "$as_me:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
- :
+
fi
if test x$HAVE_CPG != xyes; then
@@ -12015,6 +12048,8 @@ fi
if test $pkg_failed = yes; then
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
_pkg_short_errors_supported=yes
@@ -12038,8 +12073,7 @@ installed software in a non-standard prefix.
Alternatively, you may set the environment variables CPG_CFLAGS
and CPG_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-" >&5
+See the pkg-config man page for more details." >&5
$as_echo "$as_me: error: Package requirements (libcpg) were not met:
$CPG_PKG_ERRORS
@@ -12049,10 +12083,11 @@ installed software in a non-standard prefix.
Alternatively, you may set the environment variables CPG_CFLAGS
and CPG_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-" >&2;}
+See the pkg-config man page for more details." >&2;}
{ (exit 1); exit 1; }; }
elif test $pkg_failed = untried; then
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
{ { $as_echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it
@@ -12081,7 +12116,7 @@ else
CPG_LIBS=$pkg_cv_CPG_LIBS
{ $as_echo "$as_me:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
- :
+
fi
fi
fi
@@ -15482,6 +15517,22 @@ _ACEOF
fi
+
+cat >>confdefs.h <<_ACEOF
+#define LVM_PATH "$exec_prefix/sbin/lvm"
+_ACEOF
+
+
+if test "$CLVMD" != none; then
+ clvmd_prefix=$ac_default_prefix
+ test "$prefix" != NONE && clvmd_prefix=$prefix
+
+cat >>confdefs.h <<_ACEOF
+#define CLVMD_PATH "$clvmd_prefix/sbin/clvmd"
+_ACEOF
+
+fi
+
################################################################################
diff --git a/configure.in b/configure.in
index bdf5dde5..aeee3858 100644
--- a/configure.in
+++ b/configure.in
@@ -1009,6 +1009,14 @@ if test x$MODPROBE_CMD != x; then
AC_DEFINE_UNQUOTED([MODPROBE_CMD], ["$MODPROBE_CMD"], [The path to 'modprobe', if available.])
fi
+AC_DEFINE_UNQUOTED(LVM_PATH, ["$exec_prefix/sbin/lvm"], [Path to lvm binary.])
+
+if test "$CLVMD" != none; then
+ clvmd_prefix=$ac_default_prefix
+ test "$prefix" != NONE && clvmd_prefix=$prefix
+ AC_DEFINE_UNQUOTED(CLVMD_PATH, ["$clvmd_prefix/sbin/clvmd"], [Path to clvmd binary.])
+fi
+
################################################################################
dnl -- dmeventd pidfile and executable path
AH_TEMPLATE(DMEVENTD_PIDFILE, [Path to dmeventd pidfile.])
diff --git a/daemons/clvmd/clvmd-command.c b/daemons/clvmd/clvmd-command.c
index 5e3b8c12..180f8091 100644
--- a/daemons/clvmd/clvmd-command.c
+++ b/daemons/clvmd/clvmd-command.c
@@ -400,7 +400,7 @@ static int restart_clvmd(void)
/* Exec new clvmd */
/* NOTE: This will fail when downgrading! */
- execve("clvmd", argv, NULL);
+ execve(CLVMD_PATH, argv, NULL);
/* We failed */
return 0;
diff --git a/daemons/clvmd/lvm-functions.c b/daemons/clvmd/lvm-functions.c
index bb77e971..3a0b3c18 100644
--- a/daemons/clvmd/lvm-functions.c
+++ b/daemons/clvmd/lvm-functions.c
@@ -653,7 +653,7 @@ static void drop_vg_locks()
char line[255];
FILE *vgs =
popen
- ("lvm pvs --config 'log{command_names=0 prefix=\"\"}' --nolocking --noheadings -o vg_name", "r");
+ (LVM_PATH " pvs --config 'log{command_names=0 prefix=\"\"}' --nolocking --noheadings -o vg_name", "r");
sync_unlock("P_" VG_ORPHANS, LCK_EXCL);
sync_unlock("P_" VG_GLOBAL, LCK_EXCL);
@@ -762,7 +762,7 @@ static void *get_initial_state(char **argv)
char line[255];
FILE *lvs =
popen
- ("lvm lvs --config 'log{command_names=0 prefix=\"\"}' --nolocking --noheadings -o vg_uuid,lv_uuid,lv_attr,vg_attr",
+ (LVM_PATH " lvs --config 'log{command_names=0 prefix=\"\"}' --nolocking --noheadings -o vg_uuid,lv_uuid,lv_attr,vg_attr",
"r");
if (!lvs)
diff --git a/lib/misc/configure.h.in b/lib/misc/configure.h.in
index 6b0d69ae..6f381f8e 100644
--- a/lib/misc/configure.h.in
+++ b/lib/misc/configure.h.in
@@ -6,6 +6,9 @@
/* Define to 1 to include built-in support for clustered LVM locking. */
#undef CLUSTER_LOCKING_INTERNAL
+/* Path to clvmd binary. */
+#undef CLVMD_PATH
+
/* Path to cmirrord pidfile. */
#undef CMIRRORD_PIDFILE
@@ -397,6 +400,9 @@
/* Define to 1 to include built-in support for LVM1 metadata. */
#undef LVM1_INTERNAL
+/* Path to lvm binary. */
+#undef LVM_PATH
+
/* Define to 1 to include built-in support for mirrors. */
#undef MIRRORED_INTERNAL