main - configure.ac: various minor updates
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=b9697acbd6b4283b430...
Commit: b9697acbd6b4283b430b5c6a9ced45676c54bc1d
Parent: 1cd71a5fe3f69d0a4c8c05babd4a7433682318b5
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Thu Feb 16 23:41:02 2023 +0100
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Fri Feb 17 00:00:12 2023 +0100
configure.ac: various minor updates
---
configure.ac | 14 +++-----------
1 file changed, 3 insertions(+), 11 deletions(-)
diff --git a/configure.ac b/configure.ac
index b728ad096..86f4941d8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1238,11 +1238,7 @@ AC_ARG_ENABLE(cmdlib,
CMDLIB=$enableval, CMDLIB="no")
AC_MSG_RESULT([$CMDLIB])
AC_SUBST([LVM2CMD_LIB])
-AS_IF([test "$CMDLIB" = "yes"], [
- LVM2CMD_LIB="-llvm2cmd"
-], [
- LVM2CMD_LIB=""
-])
+AS_IF([test "$CMDLIB" = "yes"], [LVM2CMD_LIB="-llvm2cmd"], [LVM2CMD_LIB=])
################################################################################
dnl -- Enable D-Bus service
@@ -1262,7 +1258,7 @@ AS_IF([test "$BUILD_LVMDBUSD" = "yes"], [
unset am_cv_python_pythondir am_cv_python_version am_cv_python_pyexecdir
unset ac_cv_path_PYTHON_CONFIG ac_cv_path_ac_pt_PYTHON_CONFIG
m4_define_default([_AM_PYTHON_INTERPRETER_LIST],[ python3 python2 python dnl
- python3.9 python3.8 python3.7 python3.6 python3.5 python3.4 python3.3 python3.2 python3.1 python3.0 dnl
+ python3.12 python3.11 python3.10 python3.9 python3.8 python3.7 python3.6 python3.5 python3.4 python3.3 python3.2 python3.1 python3.0 dnl
python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 ])
AM_PATH_PYTHON([3])
PYTHON3=$PYTHON
@@ -1273,12 +1269,8 @@ AS_IF([test "$BUILD_LVMDBUSD" = "yes"], [
AS_IF([test -z "$PYTHON3_CONFIG"], [
AC_MSG_ERROR([python3 headers are required for --enable-python3_bindings or --enable-dbus-service but cannot be found])
])
- PYTHON3_INCDIRS=`"$PYTHON3_CONFIG" --includes`
- PYTHON3_LIBDIRS=`"$PYTHON3_CONFIG" --libs`
PYTHON3DIR=$pythondir
- AS_IF([test "$PYTHON3_BINDINGS" = "yes"], [
- PYTHON_BINDINGS="yes"
- ])
+ AS_IF([test "$PYTHON3_BINDINGS" = "yes"], [PYTHON_BINDINGS="yes"])
# To get this macro, install autoconf-archive package then run autoreconf
AX_PYTHON_MODULE([pyudev], [Required], python3)
3 months, 3 weeks
main - configure.ac: remove unneded vars and settings
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=1cd71a5fe3f69d0a4c8...
Commit: 1cd71a5fe3f69d0a4c8c05babd4a7433682318b5
Parent: bb4ed5c23d73ac5cfd2cba28147c1dc7df1de47d
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Thu Feb 16 23:39:45 2023 +0100
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Fri Feb 17 00:00:12 2023 +0100
configure.ac: remove unneded vars and settings
---
configure.ac | 33 ---------------------------------
1 file changed, 33 deletions(-)
diff --git a/configure.ac b/configure.ac
index 7ce4b8f6a..b728ad096 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1791,18 +1791,8 @@ LVM_LIBAPI=$(echo "$VER" | $AWK -F '[[()]]' '{print $2}')
AC_DEFINE_UNQUOTED(LVM_CONFIGURE_LINE, "$CONFIGURE_LINE", [configure command line used])
-AC_ARG_VAR([BLKID_CFLAGS], [C compiler flags for blkid])
-AC_ARG_VAR([BLKID_LIBS], [linker flags for blkid])
-AC_ARG_VAR([CPG_CFLAGS], [C compiler flags for cpg])
-AC_ARG_VAR([CPG_LIBS], [linker flags for cpg])
-AC_ARG_VAR([EDITLINE_CFLAGS], [C compiler flags for editline])
-AC_ARG_VAR([EDITLINE_LIBS], [linker flags for editline])
AC_ARG_VAR([READLINE_CFLAGS], [C compiler flags for readline])
AC_ARG_VAR([READLINE_LIBS], [linker flags for readline])
-AC_ARG_VAR([SYSTEMD_CFLAGS], [C compiler flags for systemd])
-AC_ARG_VAR([SYSTEMD_LIBS], [linker flags for systemd])
-AC_ARG_VAR([UDEV_CFLAGS], [C compiler flags for udev])
-AC_ARG_VAR([UDEV_LIBS], [linker flags for udev])
################################################################################
AC_SUBST(AWK)
@@ -1825,8 +1815,6 @@ AC_SUBST(CLDFLAGS)
AC_SUBST(CLDNOWHOLEARCHIVE)
AC_SUBST(CLDWHOLEARCHIVE)
AC_SUBST(CMDLIB)
-AC_SUBST(CONFDB_CFLAGS)
-AC_SUBST(CONFDB_LIBS)
AC_SUBST(CONFDIR)
AC_SUBST(COPTIMISE_FLAG)
AC_SUBST(CSCOPE_CMD)
@@ -1849,8 +1837,6 @@ AC_SUBST(DEFAULT_USE_DEVICES_FILE)
AC_SUBST(DEFAULT_USE_LVMPOLLD)
AC_SUBST(DEFAULT_USE_LVMLOCKD)
AC_SUBST(DEVMAPPER)
-AC_SUBST(DLM_CFLAGS)
-AC_SUBST(DLM_LIBS)
AC_SUBST(DL_LIBS)
AC_SUBST(DMEVENTD_PATH)
AC_SUBST(DM_LIB_PATCHLEVEL)
@@ -1859,11 +1845,6 @@ AC_SUBST(FSADM)
AC_SUBST(FSADM_PATH)
AC_SUBST(LVRESIZE_FS_HELPER_PATH)
AC_SUBST(BLKDEACTIVATE)
-AC_SUBST(HAVE_BLKID)
-AC_SUBST(HAVE_BLKID_SUBLKS_FSINFO)
-AC_SUBST(HAVE_LIBDL)
-AC_SUBST(HAVE_REALTIME)
-AC_SUBST(HAVE_VALGRIND)
AC_SUBST(INTEGRITY)
AC_SUBST(INTL)
AC_SUBST(JOBS)
@@ -1892,23 +1873,9 @@ AC_SUBST(M_LIBS)
AC_SUBST(PTHREAD_LIBS)
AC_SUBST(PYTHON2)
AC_SUBST(PYTHON3)
-AC_SUBST(PYTHON_BINDINGS)
-AC_SUBST(PYTHON2_BINDINGS)
-AC_SUBST(PYTHON3_BINDINGS)
-AC_SUBST(PYTHON2_INCDIRS)
-AC_SUBST(PYTHON3_INCDIRS)
-AC_SUBST(PYTHON2_LIBDIRS)
-AC_SUBST(PYTHON3_LIBDIRS)
AC_SUBST(PYTHON2DIR)
AC_SUBST(PYTHON3DIR)
-AC_SUBST(QUORUM_CFLAGS)
-AC_SUBST(QUORUM_LIBS)
AC_SUBST(RT_LIBS)
-AC_SUBST(REPLICATORS)
-AC_SUBST(SACKPT_CFLAGS)
-AC_SUBST(SACKPT_LIBS)
-AC_SUBST(SALCK_CFLAGS)
-AC_SUBST(SALCK_LIBS)
AC_SUBST(SBINDIR)
AC_SUBST(SELINUX_LIBS)
AC_SUBST(SELINUX_PC)
3 months, 3 weeks
main - configure.ac: fix incorrect check for valid configuration
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=bb4ed5c23d73ac5cfd2...
Commit: bb4ed5c23d73ac5cfd2cba28147c1dc7df1de47d
Parent: c23d09bbcea15d5c639b8347bdf30106dee12660
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Thu Feb 16 23:35:26 2023 +0100
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Fri Feb 17 00:00:12 2023 +0100
configure.ac: fix incorrect check for valid configuration
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index 78663b5bf..7ce4b8f6a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1251,7 +1251,7 @@ AC_ARG_ENABLE(dbus-service,
AS_HELP_STRING([--enable-dbus-service], [install D-Bus support]),
BUILD_LVMDBUSD=$enableval, BUILD_LVMDBUSD="no")
AC_MSG_RESULT([$BUILD_LVMDBUSD])
-AS_IF([test "$NOTIFYDBUS_SUPPORT" = "yes" && test "BUILD_LVMDBUSD" = "yes"],
+AS_IF([test "$NOTIFYDBUS_SUPPORT" = "no" && test "$BUILD_LVMDBUSD" = "yes"],
[AC_MSG_WARN([Building D-Bus support without D-Bus notifications.])])
################################################################################
3 months, 3 weeks
main - configure.ac: use standardized LIBS and CFLAGS
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=c23d09bbcea15d5c639...
Commit: c23d09bbcea15d5c639b8347bdf30106dee12660
Parent: d106ac04ab340d170dc5460e023df73e63bb98ab
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Thu Feb 16 23:28:08 2023 +0100
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Fri Feb 17 00:00:12 2023 +0100
configure.ac: use standardized LIBS and CFLAGS
Convert lvmlockd to use configure _LIBS and _CFLAGS for
discovered libraries.
TODO: ATM we ignore discovered libdlm and use libdlm_lt instead.
Also libseagate_ilm is hard to find unicorn for testing.
---
configure.ac | 17 +++++++----------
daemons/lvmlockd/Makefile.in | 11 +++++++----
make.tmpl.in | 8 ++++++++
3 files changed, 22 insertions(+), 14 deletions(-)
diff --git a/configure.ac b/configure.ac
index 17d90bc85..78663b5bf 100644
--- a/configure.ac
+++ b/configure.ac
@@ -913,9 +913,8 @@ AC_MSG_RESULT([$BUILD_LOCKDSANLOCK])
dnl -- Look for sanlock libraries
AS_IF([test "$BUILD_LOCKDSANLOCK" = "yes"], [
- PKG_CHECK_MODULES(LOCKD_SANLOCK, libsanlock_client >= 3.3.0, [HAVE_LOCKD_SANLOCK="yes"], $bailout)
+ PKG_CHECK_MODULES(LIBSANLOCKCLIENT, libsanlock_client >= 3.3.0, [BUILD_LVMLOCKD="yes"], $bailout)
AC_DEFINE([LOCKDSANLOCK_SUPPORT], 1, [Define to 1 to include code that uses lvmlockd sanlock option.])
- BUILD_LVMLOCKD=yes
])
################################################################################
@@ -929,9 +928,8 @@ AC_MSG_RESULT([$BUILD_LOCKDDLM])
dnl -- Look for dlm libraries
AS_IF([test "$BUILD_LOCKDDLM" = "yes"], [
- PKG_CHECK_MODULES(LOCKD_DLM, libdlm, [HAVE_LOCKD_DLM="yes"], $bailout)
+ PKG_CHECK_MODULES(LIBDLM, libdlm, [BUILD_LVMLOCKD="yes"], $bailout)
AC_DEFINE([LOCKDDLM_SUPPORT], 1, [Define to 1 to include code that uses lvmlockd dlm option.])
- BUILD_LVMLOCKD=yes
])
################################################################################
@@ -945,9 +943,8 @@ AC_MSG_RESULT([$BUILD_LOCKDDLM_CONTROL])
dnl -- Look for libdlmcontrol libraries
AS_IF([test "$BUILD_LOCKDDLM_CONTROL" = "yes"], [
- PKG_CHECK_MODULES(LOCKD_DLM_CONTROL, libdlmcontrol >= 3.2, [HAVE_LOCKD_DLM_CONTROL=yes], $bailout)
+ PKG_CHECK_MODULES(LIBDLMCONTROL, [libdlmcontrol >= 3.2], [BUILD_LVMLOCKD="yes"], $bailout)
AC_DEFINE([LOCKDDLM_CONTROL_SUPPORT], 1, [Define to 1 to include code that uses lvmlockd dlm control option.])
- BUILD_LVMLOCKD=yes
])
################################################################################
@@ -961,10 +958,10 @@ AC_MSG_RESULT([$BUILD_LOCKDIDM])
dnl -- Look for Seagate IDM libraries
AS_IF([test "$BUILD_LOCKDIDM" = "yes"], [
- PKG_CHECK_MODULES(LOCKD_IDM, libseagate_ilm >= 0.1.0, [HAVE_LOCKD_IDM=yes], $bailout)
- PKG_CHECK_EXISTS(blkid >= 2.24, [HAVE_LOCKD_IDM="yes"], $bailout)
- AC_DEFINE([LOCKDIDM_SUPPORT], 1, [Define to 1 to include code that uses lvmlockd IDM option.])
- BUILD_LVMLOCKD=yes
+ PKG_CHECK_EXISTS(blkid >= 2.24, [
+ PKG_CHECK_MODULES(LIBSEAGATEILM, [libseagate_ilm >= 0.1.0], [BUILD_LVMLOCKD="yes"], $bailout)
+ AC_DEFINE([LOCKDIDM_SUPPORT], 1, [Define to 1 to include code that uses lvmlockd IDM option.])
+ ], $bailout)
])
################################################################################
diff --git a/daemons/lvmlockd/Makefile.in b/daemons/lvmlockd/Makefile.in
index dd35d5411..aff4c0123 100644
--- a/daemons/lvmlockd/Makefile.in
+++ b/daemons/lvmlockd/Makefile.in
@@ -19,18 +19,21 @@ SOURCES = lvmlockd-core.c
ifeq ("@BUILD_LOCKDSANLOCK@", "yes")
SOURCES += lvmlockd-sanlock.c
- LOCK_LIBS += -lsanlock_client
+ CFLAGS += $(LIBSANLOCKCLIENT_CFLAGS)
+ LOCK_LIBS += $(LIBSANLOCKCLIENT_LIBS)
endif
ifeq ("@BUILD_LOCKDDLM@", "yes")
SOURCES += lvmlockd-dlm.c
- LOCK_LIBS += -ldlm_lt
- LOCK_LIBS += -ldlmcontrol
+ CFLAGS += $(LIBDLM) $(LIBDLMCONTROL_CFLAGS)
+# LOCK_LIBS += $(LIBDLM_LIBS) $(LIBDLMCONTROL_LIBS)
+ LOCK_LIBS += -ldlm_lt $(LIBDLMCONTROL_LIBS)
endif
ifeq ("@BUILD_LOCKDIDM@", "yes")
SOURCES += lvmlockd-idm.c
- LOCK_LIBS += -lseagate_ilm -lblkid
+# LOCK_LIBS += $(LIBSEAGATEILM_LIBS) $(BLKID_LIBS)
+ LOCK_LIBS += -lseagate_ilm $(BLKID_LIBS)
endif
SOURCES2 = lvmlockctl.c
diff --git a/make.tmpl.in b/make.tmpl.in
index a1fae368d..b73176f5a 100644
--- a/make.tmpl.in
+++ b/make.tmpl.in
@@ -82,6 +82,14 @@ CPG_CFLAGS = @CPG_CFLAGS@
CPG_LIBS = @CPG_LIBS@
EDITLINE_CFLAGS = @EDITLINE_CFLAGS@
EDITLINE_LIBS = @EDITLINE_LIBS@
+LIBDLM_CFLAGS = @LIBDLM_CFLAGS@
+LIBDLM_LIBS = @LIBDLM_LIBS@
+LIBDLMCONTROL_CFLAGS = @LIBDLMCONTROL_CFLAGS@
+LIBDLMCONTROL_LIBS = @LIBDLMCONTROL_LIBS@
+LIBSANLOCKCLIENT_CFLAGS = @LIBSANLOCKCLIENT_CFLAGS@
+LIBSANLOCKCLIENT_LIBS = @LIBSANLOCKCLIENT_LIBS@
+LIBSEAGATEILM_CFLAGS = @LIBSEAGATEILM_CFLAGS@
+LIBSEAGATEILM_LIBS = @LIBSEAGATEILM_LIBS@
LIBSYSTEMD_CFLAGS = @LIBSYSTEMD_CFLAGS@
LIBSYSTEMD_LIBS = @LIBSYSTEMD_LIBS@
PTHREAD_LIBS = @PTHREAD_LIBS@
3 months, 3 weeks
main - configure.ac: use LIBSYSTEMD
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=d106ac04ab340d170dc...
Commit: d106ac04ab340d170dc5460e023df73e63bb98ab
Parent: 3ef26494f2251dc5376f49128bbf49563560cf6b
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Thu Feb 16 23:34:25 2023 +0100
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Fri Feb 17 00:00:12 2023 +0100
configure.ac: use LIBSYSTEMD
Convert naming SYSTEMD_CFLAGS/LIB -> LIBSYSTEMD_CFLAGS/LIBS
to better fit library check for libsystemd.
Build lvmlockd with SD_NOTIFY when we have defined LIBSYSTEMD_LIBS.
---
configure.ac | 2 +-
daemons/lvmlockd/Makefile.in | 8 +++-----
libdm/make.tmpl.in | 2 +-
make.tmpl.in | 6 +++---
4 files changed, 8 insertions(+), 10 deletions(-)
diff --git a/configure.ac b/configure.ac
index e8dc7a92c..17d90bc85 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1090,7 +1090,7 @@ AS_IF([test "$APP_MACHINEID_SUPPORT" = "yes"],
dnl -- Look for libsystemd libraries if needed
AS_IF([test "$NOTIFYDBUS_SUPPORT" = "yes" || test "$SYSTEMD_JOURNAL_SUPPORT" = "yes" || test "$APP_MACHINEID_SUPPORT" = "yes"], [
- PKG_CHECK_MODULES(SYSTEMD, [systemd], [SYSTEMD_LIBS="-lsystemd"], $bailout)
+ PKG_CHECK_MODULES(LIBSYSTEMD, [libsystemd], [], $bailout)
])
################################################################################
diff --git a/daemons/lvmlockd/Makefile.in b/daemons/lvmlockd/Makefile.in
index e5ba82517..dd35d5411 100644
--- a/daemons/lvmlockd/Makefile.in
+++ b/daemons/lvmlockd/Makefile.in
@@ -15,8 +15,6 @@ srcdir = @srcdir@
top_srcdir = @top_srcdir@
top_builddir = @top_builddir@
-USE_SD_NOTIFY=yes
-
SOURCES = lvmlockd-core.c
ifeq ("@BUILD_LOCKDSANLOCK@", "yes")
@@ -51,9 +49,9 @@ INCLUDES += -I$(top_srcdir)/libdaemon/server
LDFLAGS += -L$(top_builddir)/libdaemon/server $(EXTRA_EXEC_LDFLAGS) $(ELDFLAGS)
LIBS += $(DAEMON_LIBS) $(PTHREAD_LIBS)
-ifeq ($(USE_SD_NOTIFY),yes)
- CFLAGS += $(SYSTEMD_CFLAGS) -DUSE_SD_NOTIFY
- LIBS += $(SYSTEMD_LIBS)
+ifneq (,$(firstword $(LIBSYSTEMD_LIBS)))
+ CFLAGS += $(LIBSYSTEMD_CFLAGS) -DUSE_SD_NOTIFY
+ LIBS += $(LIBSYSTEMD_LIBS)
endif
lvmlockd: $(OBJECTS) $(top_builddir)/libdaemon/server/libdaemonserver.a $(INTERNAL_LIBS)
diff --git a/libdm/make.tmpl.in b/libdm/make.tmpl.in
index fb8973b6b..a731687c2 100644
--- a/libdm/make.tmpl.in
+++ b/libdm/make.tmpl.in
@@ -75,7 +75,7 @@ UDEV_CFLAGS = @UDEV_CFLAGS@
UDEV_LIBS = @UDEV_LIBS@
BLKID_CFLAGS = @BLKID_CFLAGS@
BLKID_LIBS = @BLKID_LIBS@
-SYSTEMD_LIBS = @SYSTEMD_LIBS@
+LIBSYSTEMD_LIBS = @LIBSYSTEMD_LIBS@
VALGRIND_CFLAGS = @VALGRIND_CFLAGS@
# Setup directory variables
diff --git a/make.tmpl.in b/make.tmpl.in
index 9f4ecc33f..a1fae368d 100644
--- a/make.tmpl.in
+++ b/make.tmpl.in
@@ -57,7 +57,7 @@ PYTHON3 = @PYTHON3@
PYCOMPILE = $(top_srcdir)/autoconf/py-compile
LIBS += @LIBS@ $(SELINUX_LIBS) $(UDEV_LIBS) $(RT_LIBS) $(M_LIBS)
-LVMLIBS = $(DMEVENT_LIBS) $(READLINE_LIBS) $(EDITLINE_LIBS) $(SYSTEMD_LIBS) $(BLKID_LIBS) $(AIO_LIBS) $(LIBS)
+LVMLIBS = $(DMEVENT_LIBS) $(READLINE_LIBS) $(EDITLINE_LIBS) $(LIBSYSTEMD_LIBS) $(BLKID_LIBS) $(AIO_LIBS) $(LIBS)
# Extra libraries always linked with static binaries
STATIC_LIBS = $(PTHREAD_LIBS)
DEFS += @DEFS@
@@ -82,12 +82,12 @@ CPG_CFLAGS = @CPG_CFLAGS@
CPG_LIBS = @CPG_LIBS@
EDITLINE_CFLAGS = @EDITLINE_CFLAGS@
EDITLINE_LIBS = @EDITLINE_LIBS@
+LIBSYSTEMD_CFLAGS = @LIBSYSTEMD_CFLAGS@
+LIBSYSTEMD_LIBS = @LIBSYSTEMD_LIBS@
PTHREAD_LIBS = @PTHREAD_LIBS@
READLINE_CFLAGS = @READLINE_CFLAGS@
READLINE_LIBS = @READLINE_LIBS@
SELINUX_LIBS = @SELINUX_LIBS@
-SYSTEMD_CFLAGS = @SYSTEMD_CFLAGS@
-SYSTEMD_LIBS = @SYSTEMD_LIBS@
UDEV_CFLAGS = @UDEV_CFLAGS@
UDEV_LIBS = @UDEV_LIBS@
VALGRIND_CFLAGS = @VALGRIND_CFLAGS@
3 months, 3 weeks
main - debug: missing backtraces
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=3ef26494f2251dc5376...
Commit: 3ef26494f2251dc5376f49128bbf49563560cf6b
Parent: 7bc5c8ac3d4c6004de24050fd51d3eaa4732822d
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Thu Feb 16 13:14:33 2023 +0100
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Fri Feb 17 00:00:12 2023 +0100
debug: missing backtraces
---
tools/lvconvert.c | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/tools/lvconvert.c b/tools/lvconvert.c
index 7331f243f..0e928d39c 100644
--- a/tools/lvconvert.c
+++ b/tools/lvconvert.c
@@ -4905,7 +4905,7 @@ static int _lvconvert_merge_thin_single(struct cmd_context *cmd,
struct processing_handle *handle)
{
if (!_lvconvert_merge_thin_snapshot(cmd, lv))
- return ECMD_FAILED;
+ return_ECMD_FAILED;
return ECMD_PROCESSED;
}
@@ -4968,11 +4968,11 @@ static int _lvconvert_split_cache_single(struct cmd_context *cmd,
/* If LV is inactive here, ensure it's not active elsewhere. */
if (!lockd_lv(cmd, lv_main, "ex", 0))
- return ECMD_FAILED;
+ return_ECMD_FAILED;
if (lv_is_writecache(lv_main)) {
if (!_lvconvert_detach_writecache(cmd, handle, lv_main, lv_fast))
- return ECMD_FAILED;
+ return_ECMD_FAILED;
if (cmd->command->command_enum == lvconvert_split_and_remove_cache_CMD) {
struct lvconvert_result *lr = (struct lvconvert_result *) handle->custom_handle;
@@ -4985,7 +4985,7 @@ static int _lvconvert_split_cache_single(struct cmd_context *cmd,
*/
if (!lr->wait_cleaner_writecache) {
if (lvremove_single(cmd, lv_fast, NULL) != ECMD_PROCESSED)
- return ECMD_FAILED;
+ return_ECMD_FAILED;
}
}
ret = 1;
@@ -5255,7 +5255,8 @@ static int _lvconvert_change_region_size_single(struct cmd_context *cmd, struct
{
if (!lv_raid_change_region_size(lv, arg_is_set(cmd, yes_ARG), arg_count(cmd, force_ARG),
arg_int_value(cmd, regionsize_ARG, 0)))
- return ECMD_FAILED;
+ return_ECMD_FAILED;
+
return ECMD_PROCESSED;
}
@@ -5334,7 +5335,7 @@ static int _lvconvert_merge_mirror_images_single(struct cmd_context *cmd,
struct processing_handle *handle)
{
if (!lv_raid_merge(lv))
- return ECMD_FAILED;
+ return_ECMD_FAILED;
return ECMD_PROCESSED;
}
3 months, 3 weeks
main - cov: avoid using strcpy
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=7bc5c8ac3d4c6004de2...
Commit: 7bc5c8ac3d4c6004de24050fd51d3eaa4732822d
Parent: fb930c2165c2b62daf2adc9d97d59f129132e5c3
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Tue Feb 14 20:59:56 2023 +0100
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Fri Feb 17 00:00:04 2023 +0100
cov: avoid using strcpy
Coverity is complaining about unchecked strcpy here, which is
irelevant as we preallocate buffer to fit in copied string,
however we could actually reuse these size and use just memcpy().
So lets make some simple conversions.
---
device_mapper/ioctl/libdm-iface.c | 41 ++++++++++++++++++++++++---------------
lib/activate/fs.c | 5 +++--
lib/commands/toolcontext.c | 8 +++-----
lib/format_text/format-text.c | 7 ++++---
4 files changed, 35 insertions(+), 26 deletions(-)
diff --git a/device_mapper/ioctl/libdm-iface.c b/device_mapper/ioctl/libdm-iface.c
index ffcbc8a48..0cc81b9d9 100644
--- a/device_mapper/ioctl/libdm-iface.c
+++ b/device_mapper/ioctl/libdm-iface.c
@@ -843,8 +843,8 @@ int dm_task_get_device_list(struct dm_task *dmt, struct dm_list **devs_list,
dm_dev->event_nr = 0;
dm_dev->uuid = NULL;
- strcpy(dm_dev->name, names->name);
len = strlen(names->name) + 1;
+ memcpy(dm_dev->name, names->name, len);
dm_new_dev = _align_ptr((char*)(dm_dev + 1) + len);
if (_check_has_event_nr()) {
@@ -862,8 +862,9 @@ int dm_task_get_device_list(struct dm_task *dmt, struct dm_list **devs_list,
*devs_features |= DM_DEVICE_LIST_HAS_UUID;
uuid_ptr = _align_ptr(event_nr + 2);
dm_dev->uuid = (char*) dm_new_dev;
- dm_new_dev = _align_ptr((char*)dm_new_dev + strlen(uuid_ptr) + 1);
- strcpy(dm_dev->uuid, uuid_ptr);
+ len = strlen(uuid_ptr) + 1;
+ dm_new_dev = _align_ptr((char*)dm_new_dev + len);
+ memcpy(dm_dev->uuid, uuid_ptr, len);
if (!dm_hash_insert(devs->uuids, dm_dev->uuid, dm_dev))
return_0; // FIXME
#if 0
@@ -1201,9 +1202,10 @@ static char *_add_target(struct target *t, char *out, char *end)
while (*pt)
if (*pt++ == '\\')
backslash_count++;
- len = strlen(t->params) + backslash_count;
- if ((out >= end) || (out + len + 1) >= end) {
+ len = strlen(t->params) + 1;
+
+ if ((out >= end) || (out + len + backslash_count) >= end) {
log_error("Ran out of memory building ioctl parameter");
return NULL;
}
@@ -1219,8 +1221,8 @@ static char *_add_target(struct target *t, char *out, char *end)
*out++ = '\0';
}
else {
- strcpy(out, t->params);
- out += len + 1;
+ memcpy(out, t->params, len);
+ out += len + backslash_count;
}
/* align next block */
@@ -1291,6 +1293,7 @@ static struct dm_ioctl *_flatten(struct dm_task *dmt, unsigned repeat_count)
struct target *t;
struct dm_target_msg *tmsg;
size_t len = sizeof(struct dm_ioctl);
+ size_t message_len = 0, newname_len = 0, geometry_len = 0;
char *b, *e;
int count = 0;
@@ -1351,14 +1354,20 @@ static struct dm_ioctl *_flatten(struct dm_task *dmt, unsigned repeat_count)
return NULL;
}
- if (dmt->newname)
- len += strlen(dmt->newname) + 1;
+ if (dmt->newname) {
+ newname_len = strlen(dmt->newname) + 1;
+ len += newname_len;
+ }
- if (dmt->message)
- len += sizeof(struct dm_target_msg) + strlen(dmt->message) + 1;
+ if (dmt->message) {
+ message_len = strlen(dmt->message) + 1;
+ len += sizeof(struct dm_target_msg) + message_len;
+ }
- if (dmt->geometry)
- len += strlen(dmt->geometry) + 1;
+ if (dmt->geometry) {
+ geometry_len = strlen(dmt->geometry) + 1;
+ len += geometry_len;
+ }
/*
* Give len a minimum size so that we have space to store
@@ -1480,16 +1489,16 @@ static struct dm_ioctl *_flatten(struct dm_task *dmt, unsigned repeat_count)
goto_bad;
if (dmt->newname)
- strcpy(b, dmt->newname);
+ memcpy(b, dmt->newname, newname_len);
if (dmt->message) {
tmsg = (struct dm_target_msg *) b;
tmsg->sector = dmt->sector;
- strcpy(tmsg->message, dmt->message);
+ memcpy(tmsg->message, dmt->message, message_len);
}
if (dmt->geometry)
- strcpy(b, dmt->geometry);
+ memcpy(b, dmt->geometry, geometry_len);
return dmi;
diff --git a/lib/activate/fs.c b/lib/activate/fs.c
index 3e0692c9d..c8b304f9d 100644
--- a/lib/activate/fs.c
+++ b/lib/activate/fs.c
@@ -318,9 +318,10 @@ struct fs_op_parms {
static void _store_str(char **pos, char **ptr, const char *str)
{
- strcpy(*pos, str);
+ size_t len = strlen(str) + 1;
+ memcpy(*pos, str, len);
*ptr = *pos;
- *pos += strlen(*ptr) + 1;
+ *pos += len;
}
static void _del_fs_op(struct fs_op_parms *fsp)
diff --git a/lib/commands/toolcontext.c b/lib/commands/toolcontext.c
index b630554a9..4e05f9078 100644
--- a/lib/commands/toolcontext.c
+++ b/lib/commands/toolcontext.c
@@ -1581,7 +1581,7 @@ struct cmd_context *create_config_context(void)
if (!(cmd = zalloc(sizeof(*cmd))))
goto_out;
- strcpy(cmd->system_dir, DEFAULT_SYS_DIR);
+ strncpy(cmd->system_dir, DEFAULT_SYS_DIR, sizeof(cmd->system_dir) - 1);
if (!_get_env_vars(cmd))
goto_out;
@@ -1713,10 +1713,8 @@ struct cmd_context *create_toolcontext(unsigned is_clvmd,
/*
* Environment variable LVM_SYSTEM_DIR overrides this below.
*/
- if (system_dir)
- strncpy(cmd->system_dir, system_dir, sizeof(cmd->system_dir) - 1);
- else
- strcpy(cmd->system_dir, DEFAULT_SYS_DIR);
+ strncpy(cmd->system_dir, (system_dir) ? system_dir : DEFAULT_SYS_DIR,
+ sizeof(cmd->system_dir) - 1);
if (!_get_env_vars(cmd))
goto_out;
diff --git a/lib/format_text/format-text.c b/lib/format_text/format-text.c
index c1ccdb031..3d4eac27b 100644
--- a/lib/format_text/format-text.c
+++ b/lib/format_text/format-text.c
@@ -1389,7 +1389,7 @@ static int _vg_commit_file(struct format_instance *fid, struct volume_group *vg,
struct text_context *tc = (struct text_context *) mda->metadata_locn;
const char *slash;
char new_name[PATH_MAX];
- size_t len;
+ size_t len, vglen;
if (!_vg_commit_file_backup(fid, vg, mda))
return 0;
@@ -1401,14 +1401,15 @@ static int _vg_commit_file(struct format_instance *fid, struct volume_group *vg,
slash = tc->path_live;
if (strcmp(slash, vg->name)) {
+ vglen = strlen(vg->name) + 1;
len = slash - tc->path_live;
- if ((len + strlen(vg->name)) > (sizeof(new_name) - 1)) {
+ if ((len + vglen) > (sizeof(new_name) - 1)) {
log_error("Renaming path %s is too long for VG %s.",
tc->path_live, vg->name);
return 0;
}
strncpy(new_name, tc->path_live, len);
- strcpy(new_name + len, vg->name);
+ memcpy(new_name + len, vg->name, vglen);
log_debug_metadata("Renaming %s to %s", tc->path_live, new_name);
if (test_mode())
log_verbose("Test mode: Skipping rename");
3 months, 3 weeks
main - lvconvert: use log_print_unless_silent
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=fb930c2165c2b62daf2...
Commit: fb930c2165c2b62daf2adc9d97d59f129132e5c3
Parent: 501cc19034d114683458fadeacb1bb1b47ab0195
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Thu Feb 16 12:18:02 2023 +0100
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Thu Feb 16 13:15:03 2023 +0100
lvconvert: use log_print_unless_silent
For better -qq.
---
tools/lvconvert.c | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/tools/lvconvert.c b/tools/lvconvert.c
index 34ef5ac1e..7331f243f 100644
--- a/tools/lvconvert.c
+++ b/tools/lvconvert.c
@@ -4357,7 +4357,7 @@ static int _lv_create_cachevol(struct cmd_context *cmd,
if (!arg_is_set(cmd, yes_ARG) &&
yes_no_prompt("Use all %s from %s for cache? [y/n]: ",
display_size(cmd, pv_size_sectors), device_name) == 'n') {
- log_print("Use --cachesize SizeMB to use a part of the cachedevice.");
+ log_print_unless_silent("Use --cachesize SizeMB to use a part of the cachedevice.");
log_error("Conversion aborted.");
return 0;
}
@@ -4407,8 +4407,8 @@ static int _lv_create_cachevol(struct cmd_context *cmd,
lp.pvh = use_pvh;
lp.extents = cache_size_sectors / vg->extent_size;
- log_print("Creating cachevol LV %s with size %s.",
- cvname, display_size(cmd, cache_size_sectors));
+ log_print_unless_silent("Creating cachevol LV %s with size %s.",
+ cvname, display_size(cmd, cache_size_sectors));
dm_list_init(&lp.tags);
@@ -5783,7 +5783,7 @@ static int _lvconvert_detach_writecache_when_clean(struct cmd_context *cmd,
stack;
}
- log_print("Detaching writecache completed cleaning.");
+ log_print_unless_silent("Detaching writecache completed cleaning.");
lv_fast = first_seg(lv)->writecache;
@@ -5977,8 +5977,8 @@ static int _set_writecache_block_size(struct cmd_context *cmd,
else
block_size = 512;
- log_print("Using writecache block size %u for thin pool data, logical block size %u, physical block size %u.",
- block_size, lbs_4k ? 4096 : 512, pbs_4k ? 4096 : 512);
+ log_print_unless_silent("Using writecache block size %u for thin pool data, logical block size %u, physical block size %u.",
+ block_size, lbs_4k ? 4096 : 512, pbs_4k ? 4096 : 512);
goto out;
}
@@ -5990,7 +5990,7 @@ static int _set_writecache_block_size(struct cmd_context *cmd,
}
if (test_mode()) {
- log_print("Test mode skips checking fs block size.");
+ log_print_unless_silent("Test mode skips checking fs block size.");
fs_block_size = 0;
goto skip_fs;
}
@@ -6016,8 +6016,8 @@ skip_fs:
else
block_size = 4096;
- log_print("Using writecache block size %u for unknown file system block size, logical block size %u, physical block size %u.",
- block_size, lbs_4k ? 4096 : 512, pbs_4k ? 4096 : 512);
+ log_print_unless_silent("Using writecache block size %u for unknown file system block size, logical block size %u, physical block size %u.",
+ block_size, lbs_4k ? 4096 : 512, pbs_4k ? 4096 : 512);
if (block_size != 512) {
log_warn("WARNING: unable to detect a file system block size on %s", display_lvname(lv));
3 months, 3 weeks
main - lvconvert: fix return codes
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=501cc19034d11468345...
Commit: 501cc19034d114683458fadeacb1bb1b47ab0195
Parent: 08265641f3a8590f7bb41c92af65e572cdc8d099
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Thu Feb 16 13:13:32 2023 +0100
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Thu Feb 16 13:15:03 2023 +0100
lvconvert: fix return codes
Several inverted return code resulted the command returned
a success as exit code, while the function errored internally.
---
tools/lvconvert.c | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/tools/lvconvert.c b/tools/lvconvert.c
index c41d9aaf1..34ef5ac1e 100644
--- a/tools/lvconvert.c
+++ b/tools/lvconvert.c
@@ -4249,7 +4249,7 @@ static int _lvconvert_to_pool_single(struct cmd_context *cmd,
break;
default:
log_error(INTERNAL_ERROR "Invalid lvconvert pool command");
- return 0;
+ return ECMD_FAILED;
};
if (cmd->position_argc > 1) {
@@ -5192,10 +5192,10 @@ static int _lvconvert_visible_check(struct cmd_context *cmd, struct logical_volu
{
if (!lv_is_visible(lv)) {
log_error("Operation not permitted on hidden LV %s.", display_lvname(lv));
- return 0;
+ return ECMD_FAILED;
}
- return 1;
+ return ECMD_PROCESSED;
}
static int _lvconvert_change_mirrorlog_single(struct cmd_context *cmd, struct logical_volume *lv,
@@ -5428,20 +5428,20 @@ static int _lvconvert_to_vdopool_single(struct cmd_context *cmd,
if (lvc.lv_name &&
!validate_restricted_lvname_param(cmd, &vg_name, &lvc.lv_name))
- return_0;
+ goto_out;
lvc.virtual_extents = extents_from_size(cmd,
arg_uint64_value(cmd, virtualsize_ARG, UINT64_C(0)),
vg->extent_size);
if (!(lvc.segtype = get_segtype_from_string(cmd, SEG_TYPE_NAME_VDO)))
- return_0;
+ goto_out;
if (activation() && lvc.segtype->ops->target_present) {
if (!lvc.segtype->ops->target_present(cmd, NULL, &lvc.target_attr)) {
log_error("%s: Required device-mapper target(s) not detected in your kernel.",
lvc.segtype->name);
- return 0;
+ goto out;
}
}
@@ -5455,7 +5455,7 @@ static int _lvconvert_to_vdopool_single(struct cmd_context *cmd,
goto_out;
if (!get_vdo_settings(cmd, &vdo_params, NULL))
- return_0;
+ goto_out;
if (!activate_lv(cmd, lv)) {
log_error("Cannot activate %s.", display_lvname(lv));
@@ -6367,20 +6367,20 @@ static int _lvconvert_integrity_remove(struct cmd_context *cmd, struct logical_v
if (!lv_is_integrity(lv) && !lv_is_raid(lv)) {
log_error("LV does not have integrity.");
- return 0;
+ return ECMD_FAILED;
}
/* ensure it's not active elsewhere. */
if (!lockd_lv(cmd, lv, "ex", 0))
- return_0;
+ return_ECMD_FAILED;
if (lv_is_raid(lv))
ret = lv_remove_integrity_from_raid(lv);
if (!ret)
- return_0;
+ return_ECMD_FAILED;
log_print_unless_silent("Logical volume %s has removed integrity.", display_lvname(lv));
- return 1;
+ return ECMD_PROCESSED;
}
static int _lvconvert_integrity_add(struct cmd_context *cmd, struct logical_volume *lv,
3 months, 3 weeks
main - pvscan: remove warning about excluded root dev
by David Teigland
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=08265641f3a8590f7bb...
Commit: 08265641f3a8590f7bb41c92af65e572cdc8d099
Parent: bd05318ba2fc588be6339f5dc61f09195996b0e9
Author: David Teigland <teigland(a)redhat.com>
AuthorDate: Wed Feb 15 10:21:13 2023 -0600
Committer: David Teigland <teigland(a)redhat.com>
CommitterDate: Wed Feb 15 10:21:13 2023 -0600
pvscan: remove warning about excluded root dev
This was trying to warn about a misconfig where the root PV
was excluded by the devices file, but it wasn't covering all
cases. Also, it's not very useful because the root LV is
usually activated directly in the initrd.
---
tools/pvscan.c | 29 -----------------------------
1 file changed, 29 deletions(-)
diff --git a/tools/pvscan.c b/tools/pvscan.c
index b834dfd4c..8f51a0b42 100644
--- a/tools/pvscan.c
+++ b/tools/pvscan.c
@@ -1355,29 +1355,6 @@ static int _pvscan_cache_all(struct cmd_context *cmd, int argc, char **argv,
return 1;
}
-/*
- * If /dev/sda* of /dev/vda* is excluded by the devices file
- * it's usually a misconfiguration that prevents proper booting,
- * so make it a special case to give extra info to help debugging.
- */
-static void _warn_excluded_root(struct cmd_context *cmd, struct device *dev)
-{
- struct dev_use *du;
- const char *cur_idname;
-
- if (!(du = get_du_for_devname(cmd, dev_name(dev)))) {
- log_warn("WARNING: no autoactivation for %s: not found in system.devices.", dev_name(dev));
- return;
- }
-
- cur_idname = device_id_system_read(cmd, dev, du->idtype);
-
- log_warn("WARNING: no autoactivation for %s: system.devices %s current %s.",
- dev_name(dev), du->idname, cur_idname ?: "missing device id");
-
- free((void*) cur_idname);
-}
-
static int _pvscan_cache_args(struct cmd_context *cmd, int argc, char **argv,
struct dm_list *complete_vgnames)
{
@@ -1523,12 +1500,6 @@ static int _pvscan_cache_args(struct cmd_context *cmd, int argc, char **argv,
log_print_pvscan(cmd, "%s excluded: %s.",
dev_name(devl->dev), dev_filtered_reason(devl->dev));
dm_list_del(&devl->list);
-
- /* Special case warning when probable root dev is missing from system.devices */
- if ((devl->dev->filtered_flags & DEV_FILTERED_DEVICES_FILE) &&
- (!strncmp(dev_name(devl->dev), "/dev/sda", 8) ||
- !strncmp(dev_name(devl->dev), "/dev/vda", 8)))
- _warn_excluded_root(cmd, devl->dev);
}
}
3 months, 3 weeks