main - make: fix compilation for undefined RAID_INTERNAL
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=e585c10fade006e5fe3...
Commit: e585c10fade006e5fe3643b76b09501d54c20c9b
Parent: 6c85ea50de2fbdf2c923b0739171661ecdd63832
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Fri Sep 24 17:36:29 2021 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Mon Sep 27 18:56:14 2021 +0200
make: fix compilation for undefined RAID_INTERNAL
Reported-by: adamboardman of gemian
---
lib/metadata/segtype.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/metadata/segtype.h b/lib/metadata/segtype.h
index d7cfc2b72..2f4949267 100644
--- a/lib/metadata/segtype.h
+++ b/lib/metadata/segtype.h
@@ -326,9 +326,9 @@ struct segment_type *init_unknown_segtype(struct cmd_context *cmd,
*/
#define RAID_FEATURE_NEW_DEVICES_ACCEPT_REBUILD (1U << 6) /* version 1.9.0 */
+bool raid_is_available(const struct logical_volume *lv);
#ifdef RAID_INTERNAL
int init_raid_segtypes(struct cmd_context *cmd, struct segtype_library *seglib);
-bool raid_is_available(const struct logical_volume *lv);
#endif
#define THIN_FEATURE_DISCARDS (1U << 0)
2 years, 6 months
main - make: fix compilation for some compiler
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=6c85ea50de2fbdf2c92...
Commit: 6c85ea50de2fbdf2c923b0739171661ecdd63832
Parent: ef21ed78ae5a3dd0b30e4b247ec3774347cadb4d
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Fri Sep 24 17:18:30 2021 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Mon Sep 27 18:56:14 2021 +0200
make: fix compilation for some compiler
Reported-by: adamboardman of gemian
---
tools/toollib.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/toollib.c b/tools/toollib.c
index 606d35981..7e35f6f22 100644
--- a/tools/toollib.c
+++ b/tools/toollib.c
@@ -49,7 +49,7 @@ int become_daemon(struct cmd_context *cmd, int skip_lvm)
int null_fd;
pid_t pid;
struct sigaction act = {
- {_sigchld_handler},
+ .sa_handler = _sigchld_handler,
.sa_flags = SA_NOCLDSTOP,
};
2 years, 6 months
main - utils: define macro for ffs
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=ef21ed78ae5a3dd0b30...
Commit: ef21ed78ae5a3dd0b30e4b247ec3774347cadb4d
Parent: 6a186dd1e85cecac84f0bc5cc32c0e47fd33994f
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Fri Sep 24 21:43:30 2021 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Mon Sep 27 18:56:14 2021 +0200
utils: define macro for ffs
Provide ffs() macro using __builtin_ffs(), when there is missing
ffs() implementation in header file.
Reported-by: adamboardman of gemian
---
lib/misc/util.h | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/lib/misc/util.h b/lib/misc/util.h
index a42ecb355..35514eee0 100644
--- a/lib/misc/util.h
+++ b/lib/misc/util.h
@@ -89,6 +89,14 @@ static unsigned _dm_clzll(unsigned long long x)
#define clzll(x) _dm_clzll((x))
#endif /* ifdef HAVE___BUILTIN_CLZLL */
+#ifndef HAVE_FFS
+#ifdef HAVE___BUILTIN_FFS
+#define ffs(x) __builtin_ffs((x))
+#else
+#error ffs() not implemented!
+#endif /* ifdef HAVE___BUILTIN_FFS */
+#endif /* ifndef HAVE_FFS */
+
#define KERNEL_VERSION(major, minor, release) (((major) << 16) + ((minor) << 8) + (release))
/* Define some portable printing types */
2 years, 6 months
main - configure: replace AC_HELP_STRING with AS_
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=6a186dd1e85cecac84f...
Commit: 6a186dd1e85cecac84f0bc5cc32c0e47fd33994f
Parent: ff788ef19c498967ba83fb54c14700de7d4c274a
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Fri Sep 24 18:06:28 2021 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Mon Sep 27 18:56:13 2021 +0200
configure: replace AC_HELP_STRING with AS_
Upgrade to newer autoconf setup is approaching...
Will cause large set of configure changes.
---
configure.ac | 196 +++++++++++++++++++++++++++++------------------------------
1 file changed, 98 insertions(+), 98 deletions(-)
diff --git a/configure.ac b/configure.ac
index a65a957e0..6b1ea9854 100644
--- a/configure.ac
+++ b/configure.ac
@@ -176,7 +176,7 @@ AC_FUNC_VPRINTF
dnl -- Disable dependency tracking
AC_MSG_CHECKING(whether to enable dependency tracking)
AC_ARG_ENABLE(dependency-tracking,
- AC_HELP_STRING([--disable-dependency-tracking],
+ AS_HELP_STRING([--disable-dependency-tracking],
[speeds up one-time build.]),
USE_TRACKING=$enableval, USE_TRACKING=yes)
AC_MSG_RESULT($USE_TRACKING)
@@ -185,7 +185,7 @@ AC_MSG_RESULT($USE_TRACKING)
dnl -- Disable silence rules
AC_MSG_CHECKING(whether to build silently)
AC_ARG_ENABLE(silent-rules,
- AC_HELP_STRING([--disable-silent-rules], [disable silent building]),
+ AS_HELP_STRING([--disable-silent-rules], [disable silent building]),
SILENT_RULES=$enableval, SILENT_RULES=yes)
AC_MSG_RESULT($SILENT_RULES)
@@ -194,7 +194,7 @@ AC_MSG_RESULT($SILENT_RULES)
dnl -- Enables statically-linked tools
AC_MSG_CHECKING(whether to use static linking)
AC_ARG_ENABLE(static_link,
- AC_HELP_STRING([--enable-static_link],
+ AS_HELP_STRING([--enable-static_link],
[use this to link the tools to their libraries
statically (default is dynamic linking]),
STATIC_LINK=$enableval, STATIC_LINK=no)
@@ -224,7 +224,7 @@ test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
dnl -- Setup the ownership of the files
AC_MSG_CHECKING(file owner)
AC_ARG_WITH(user,
- AC_HELP_STRING([--with-user=USER],
+ AS_HELP_STRING([--with-user=USER],
[set the owner of installed files [USER=]]),
OWNER=$withval)
AC_MSG_RESULT($OWNER)
@@ -234,7 +234,7 @@ test -n "$OWNER" && INSTALL="$INSTALL -o $OWNER"
dnl -- Setup the group ownership of the files
AC_MSG_CHECKING(group owner)
AC_ARG_WITH(group,
- AC_HELP_STRING([--with-group=GROUP],
+ AS_HELP_STRING([--with-group=GROUP],
[set the group owner of installed files [GROUP=]]),
GROUP=$withval)
AC_MSG_RESULT($GROUP)
@@ -245,7 +245,7 @@ dnl -- Setup device node ownership
AC_MSG_CHECKING(device node uid)
AC_ARG_WITH(device-uid,
- AC_HELP_STRING([--with-device-uid=UID],
+ AS_HELP_STRING([--with-device-uid=UID],
[set the owner used for new device nodes [UID=0]]),
DM_DEVICE_UID=$withval, DM_DEVICE_UID=0)
AC_MSG_RESULT($DM_DEVICE_UID)
@@ -256,7 +256,7 @@ dnl -- Setup device group ownership
AC_MSG_CHECKING(device node gid)
AC_ARG_WITH(device-gid,
- AC_HELP_STRING([--with-device-gid=GID],
+ AS_HELP_STRING([--with-device-gid=GID],
[set the group used for new device nodes [GID=0]]),
DM_DEVICE_GID=$withval, DM_DEVICE_GID=0)
AC_MSG_RESULT($DM_DEVICE_GID)
@@ -267,7 +267,7 @@ dnl -- Setup device mode
AC_MSG_CHECKING(device node mode)
AC_ARG_WITH(device-mode,
- AC_HELP_STRING([--with-device-mode=MODE],
+ AS_HELP_STRING([--with-device-mode=MODE],
[set the mode used for new device nodes [MODE=0600]]),
DM_DEVICE_MODE=$withval, DM_DEVICE_MODE=0600)
AC_MSG_RESULT($DM_DEVICE_MODE)
@@ -275,7 +275,7 @@ AC_DEFINE_UNQUOTED([DM_DEVICE_MODE], [$DM_DEVICE_MODE], [Define default mode for
AC_MSG_CHECKING(when to create device nodes)
AC_ARG_WITH(device-nodes-on,
- AC_HELP_STRING([--with-device-nodes-on=ON],
+ AS_HELP_STRING([--with-device-nodes-on=ON],
[create nodes on resume or create [ON=resume]]),
ADD_NODE=$withval, ADD_NODE=resume)
case "$ADD_NODE" in
@@ -288,7 +288,7 @@ AC_DEFINE_UNQUOTED([DEFAULT_DM_ADD_NODE], $add_on, [Define default node creation
AC_MSG_CHECKING(default name mangling)
AC_ARG_WITH(default-name-mangling,
- AC_HELP_STRING([--with-default-name-mangling=MANGLING],
+ AS_HELP_STRING([--with-default-name-mangling=MANGLING],
[default name mangling: auto/none/hex [auto]]),
MANGLING=$withval, MANGLING=auto)
case "$MANGLING" in
@@ -304,7 +304,7 @@ AC_DEFINE_UNQUOTED([DEFAULT_DM_NAME_MANGLING], $mangling, [Define default name m
dnl -- snapshots inclusion type
AC_MSG_CHECKING(whether to include snapshots)
AC_ARG_WITH(snapshots,
- AC_HELP_STRING([--with-snapshots=TYPE],
+ AS_HELP_STRING([--with-snapshots=TYPE],
[snapshot support: internal/none [internal]]),
SNAPSHOTS=$withval, SNAPSHOTS=internal)
AC_MSG_RESULT($SNAPSHOTS)
@@ -320,7 +320,7 @@ esac
dnl -- mirrors inclusion type
AC_MSG_CHECKING(whether to include mirrors)
AC_ARG_WITH(mirrors,
- AC_HELP_STRING([--with-mirrors=TYPE],
+ AS_HELP_STRING([--with-mirrors=TYPE],
[mirror support: internal/none [internal]]),
MIRRORS=$withval, MIRRORS=internal)
AC_MSG_RESULT($MIRRORS)
@@ -335,11 +335,11 @@ esac
################################################################################
dnl -- raid inclusion type
AC_ARG_WITH(default-mirror-segtype,
- AC_HELP_STRING([--with-default-mirror-segtype=TYPE],
+ AS_HELP_STRING([--with-default-mirror-segtype=TYPE],
[default mirror segtype: raid1/mirror [raid1]]),
DEFAULT_MIRROR_SEGTYPE=$withval, DEFAULT_MIRROR_SEGTYPE="raid1")
AC_ARG_WITH(default-raid10-segtype,
- AC_HELP_STRING([--with-default-raid10-segtype=TYPE],
+ AS_HELP_STRING([--with-default-raid10-segtype=TYPE],
[default mirror segtype: raid10/mirror [raid10]]),
DEFAULT_RAID10_SEGTYPE=$withval, DEFAULT_RAID10_SEGTYPE="raid10")
@@ -354,7 +354,7 @@ AC_DEFINE_UNQUOTED([DEFAULT_RAID10_SEGTYPE], ["$DEFAULT_RAID10_SEGTYPE"],
################################################################################
AC_ARG_WITH(default-sparse-segtype,
- AC_HELP_STRING([--with-default-sparse-segtype=TYPE],
+ AS_HELP_STRING([--with-default-sparse-segtype=TYPE],
[default sparse segtype: thin/snapshot [thin]]),
[ case "$withval" in
thin|snapshot) DEFAULT_SPARSE_SEGTYPE=$withval ;;
@@ -365,23 +365,23 @@ AC_ARG_WITH(default-sparse-segtype,
dnl -- thin provisioning
AC_MSG_CHECKING(whether to include thin provisioning)
AC_ARG_WITH(thin,
- AC_HELP_STRING([--with-thin=TYPE],
+ AS_HELP_STRING([--with-thin=TYPE],
[thin provisioning support: internal/none [internal]]),
THIN=$withval, THIN=internal)
AC_ARG_WITH(thin-check,
- AC_HELP_STRING([--with-thin-check=PATH],
+ AS_HELP_STRING([--with-thin-check=PATH],
[thin_check tool: [autodetect]]),
THIN_CHECK_CMD=$withval, THIN_CHECK_CMD="autodetect")
AC_ARG_WITH(thin-dump,
- AC_HELP_STRING([--with-thin-dump=PATH],
+ AS_HELP_STRING([--with-thin-dump=PATH],
[thin_dump tool: [autodetect]]),
THIN_DUMP_CMD=$withval, THIN_DUMP_CMD="autodetect")
AC_ARG_WITH(thin-repair,
- AC_HELP_STRING([--with-thin-repair=PATH],
+ AS_HELP_STRING([--with-thin-repair=PATH],
[thin_repair tool: [autodetect]]),
THIN_REPAIR_CMD=$withval, THIN_REPAIR_CMD="autodetect")
AC_ARG_WITH(thin-restore,
- AC_HELP_STRING([--with-thin-restore=PATH],
+ AS_HELP_STRING([--with-thin-restore=PATH],
[thin_restore tool: [autodetect]]),
THIN_RESTORE_CMD=$withval, THIN_RESTORE_CMD="autodetect")
@@ -400,7 +400,7 @@ AC_DEFINE_UNQUOTED([DEFAULT_SPARSE_SEGTYPE], ["$DEFAULT_SPARSE_SEGTYPE"],
dnl -- thin_check needs-check flag
AC_ARG_ENABLE(thin_check_needs_check,
- AC_HELP_STRING([--disable-thin_check_needs_check],
+ AS_HELP_STRING([--disable-thin_check_needs_check],
[required if thin_check version is < 0.3.0]),
THIN_CHECK_NEEDS_CHECK=$enableval, THIN_CHECK_NEEDS_CHECK=yes)
@@ -484,23 +484,23 @@ AC_DEFINE_UNQUOTED([THIN_RESTORE_CMD], ["$THIN_RESTORE_CMD"],
dnl -- cache inclusion type
AC_MSG_CHECKING(whether to include cache)
AC_ARG_WITH(cache,
- AC_HELP_STRING([--with-cache=TYPE],
+ AS_HELP_STRING([--with-cache=TYPE],
[cache support: internal/none [internal]]),
CACHE=$withval, CACHE="internal")
AC_ARG_WITH(cache-check,
- AC_HELP_STRING([--with-cache-check=PATH],
+ AS_HELP_STRING([--with-cache-check=PATH],
[cache_check tool: [autodetect]]),
CACHE_CHECK_CMD=$withval, CACHE_CHECK_CMD="autodetect")
AC_ARG_WITH(cache-dump,
- AC_HELP_STRING([--with-cache-dump=PATH],
+ AS_HELP_STRING([--with-cache-dump=PATH],
[cache_dump tool: [autodetect]]),
CACHE_DUMP_CMD=$withval, CACHE_DUMP_CMD="autodetect")
AC_ARG_WITH(cache-repair,
- AC_HELP_STRING([--with-cache-repair=PATH],
+ AS_HELP_STRING([--with-cache-repair=PATH],
[cache_repair tool: [autodetect]]),
CACHE_REPAIR_CMD=$withval, CACHE_REPAIR_CMD="autodetect")
AC_ARG_WITH(cache-restore,
- AC_HELP_STRING([--with-cache-restore=PATH],
+ AS_HELP_STRING([--with-cache-restore=PATH],
[cache_restore tool: [autodetect]]),
CACHE_RESTORE_CMD=$withval, CACHE_RESTORE_CMD="autodetect")
AC_MSG_RESULT($CACHE)
@@ -513,7 +513,7 @@ esac
dnl -- cache_check needs-check flag
AC_ARG_ENABLE(cache_check_needs_check,
- AC_HELP_STRING([--disable-cache_check_needs_check],
+ AS_HELP_STRING([--disable-cache_check_needs_check],
[required if cache_check version is < 0.5]),
CACHE_CHECK_NEEDS_CHECK=$enableval, CACHE_CHECK_NEEDS_CHECK=yes)
@@ -608,14 +608,14 @@ AC_DEFINE_UNQUOTED([CACHE_RESTORE_CMD], ["$CACHE_RESTORE_CMD"],
dnl -- cache inclusion type
AC_MSG_CHECKING(whether to include vdo)
AC_ARG_WITH(vdo,
- AC_HELP_STRING([--with-vdo=TYPE],
+ AS_HELP_STRING([--with-vdo=TYPE],
[vdo support: internal/none [internal]]),
VDO=$withval, VDO="internal")
AC_MSG_RESULT($VDO)
AC_ARG_WITH(vdo-format,
- AC_HELP_STRING([--with-vdo-format=PATH],
+ AS_HELP_STRING([--with-vdo-format=PATH],
[vdoformat tool: [autodetect]]),
VDO_FORMAT_CMD=$withval, VDO_FORMAT_CMD="autodetect")
case "$VDO" in
@@ -641,13 +641,13 @@ AC_DEFINE_UNQUOTED([VDO_FORMAT_CMD], ["$VDO_FORMAT_CMD"],
# Do we want to link lvm2 with a big library for vdoformating ?
#
#AC_ARG_WITH(vdo-include,
-# AC_HELP_STRING([--with-vdo-include=PATH],
+# AS_HELP_STRING([--with-vdo-include=PATH],
# [vdo support: Path to utils headers: [/usr/include/vdo/utils]]),
# VDO_INCLUDE=$withval, VDO_INCLUDE="/usr/include/vdo/utils")
#AC_MSG_RESULT($VDO_INCLUDE)
#
#AC_ARG_WITH(vdo-lib,
-# AC_HELP_STRING([--with-vdo-lib=PATH],
+# AS_HELP_STRING([--with-vdo-lib=PATH],
# [vdo support: Path to utils lib: [/usr/lib]]),
# VDO_LIB=$withval, VDO_LIB="/usr/lib")
#AC_MSG_RESULT($VDO_LIB)
@@ -656,7 +656,7 @@ AC_DEFINE_UNQUOTED([VDO_FORMAT_CMD], ["$VDO_FORMAT_CMD"],
dnl -- writecache inclusion type
AC_MSG_CHECKING(whether to include writecache)
AC_ARG_WITH(writecache,
- AC_HELP_STRING([--with-writecache=TYPE],
+ AS_HELP_STRING([--with-writecache=TYPE],
[writecache support: internal/none [internal]]),
WRITECACHE=$withval, WRITECACHE="internal")
@@ -674,7 +674,7 @@ esac
dnl -- integrity inclusion type
AC_MSG_CHECKING(whether to include integrity)
AC_ARG_WITH(integrity,
- AC_HELP_STRING([--with-integrity=TYPE],
+ AS_HELP_STRING([--with-integrity=TYPE],
[integrity support: internal/none [internal]]),
INTEGRITY=$withval, INTEGRITY="internal")
@@ -699,20 +699,20 @@ AC_ARG_VAR([AIO_LIBS], [linker flags for AIO])
################################################################################
dnl -- Disable readline
AC_ARG_ENABLE([readline],
- AC_HELP_STRING([--disable-readline], [disable readline support]),
+ AS_HELP_STRING([--disable-readline], [disable readline support]),
READLINE=$enableval, READLINE=maybe)
################################################################################
dnl -- Disable editline
AC_ARG_ENABLE([editline],
- AC_HELP_STRING([--enable-editline], [enable editline support]),
+ AS_HELP_STRING([--enable-editline], [enable editline support]),
EDITLINE=$enableval, EDITLINE=no)
################################################################################
dnl -- Disable realtime clock support
AC_MSG_CHECKING(whether to enable realtime support)
AC_ARG_ENABLE(realtime,
- AC_HELP_STRING([--disable-realtime], [disable realtime clock support]),
+ AS_HELP_STRING([--disable-realtime], [disable realtime clock support]),
REALTIME=$enableval, REALTIME=yes)
AC_MSG_RESULT($REALTIME)
@@ -720,12 +720,12 @@ AC_MSG_RESULT($REALTIME)
dnl -- disable OCF resource agents
AC_MSG_CHECKING(whether to enable OCF resource agents)
AC_ARG_ENABLE(ocf,
- AC_HELP_STRING([--enable-ocf],
+ AS_HELP_STRING([--enable-ocf],
[enable Open Cluster Framework (OCF) compliant resource agents]),
OCF=$enableval, OCF=no)
AC_MSG_RESULT($OCF)
AC_ARG_WITH(ocfdir,
- AC_HELP_STRING([--with-ocfdir=DIR],
+ AS_HELP_STRING([--with-ocfdir=DIR],
[install OCF files in [PREFIX/lib/ocf/resource.d/lvm2]]),
OCFDIR=$withval, OCFDIR='${prefix}/lib/ocf/resource.d/lvm2')
@@ -750,7 +750,7 @@ AC_MSG_RESULT($RUN_DIR)
dnl -- Set up pidfile and run directory
AH_TEMPLATE(DEFAULT_PID_DIR)
AC_ARG_WITH(default-pid-dir,
- AC_HELP_STRING([--with-default-pid-dir=PID_DIR],
+ AS_HELP_STRING([--with-default-pid-dir=PID_DIR],
[default directory to keep PID files in [autodetect]]),
DEFAULT_PID_DIR="$withval", DEFAULT_PID_DIR=$RUN_DIR)
AC_DEFINE_UNQUOTED(DEFAULT_PID_DIR, ["$DEFAULT_PID_DIR"],
@@ -758,7 +758,7 @@ AC_DEFINE_UNQUOTED(DEFAULT_PID_DIR, ["$DEFAULT_PID_DIR"],
AH_TEMPLATE(DEFAULT_DM_RUN_DIR, [Name of default DM run directory.])
AC_ARG_WITH(default-dm-run-dir,
- AC_HELP_STRING([--with-default-dm-run-dir=DM_RUN_DIR],
+ AS_HELP_STRING([--with-default-dm-run-dir=DM_RUN_DIR],
[default DM run directory [autodetect]]),
DEFAULT_DM_RUN_DIR="$withval", DEFAULT_DM_RUN_DIR=$RUN_DIR)
AC_DEFINE_UNQUOTED(DEFAULT_DM_RUN_DIR, ["$DEFAULT_DM_RUN_DIR"],
@@ -766,7 +766,7 @@ AC_DEFINE_UNQUOTED(DEFAULT_DM_RUN_DIR, ["$DEFAULT_DM_RUN_DIR"],
AH_TEMPLATE(DEFAULT_RUN_DIR, [Name of default LVM run directory.])
AC_ARG_WITH(default-run-dir,
- AC_HELP_STRING([--with-default-run-dir=RUN_DIR],
+ AS_HELP_STRING([--with-default-run-dir=RUN_DIR],
[default LVM run directory [autodetect_run_dir/lvm]]),
DEFAULT_RUN_DIR="$withval", DEFAULT_RUN_DIR="$RUN_DIR/lvm")
AC_DEFINE_UNQUOTED(DEFAULT_RUN_DIR, ["$DEFAULT_RUN_DIR"],
@@ -776,7 +776,7 @@ AC_DEFINE_UNQUOTED(DEFAULT_RUN_DIR, ["$DEFAULT_RUN_DIR"],
dnl -- Build cluster mirror log daemon
AC_MSG_CHECKING(whether to build cluster mirror log daemon)
AC_ARG_ENABLE(cmirrord,
- AC_HELP_STRING([--enable-cmirrord],
+ AS_HELP_STRING([--enable-cmirrord],
[enable the cluster mirror log daemon]),
CMIRRORD=$enableval, CMIRRORD=no)
AC_MSG_RESULT($CMIRRORD)
@@ -787,7 +787,7 @@ BUILD_CMIRRORD=$CMIRRORD
dnl -- cmirrord pidfile
if test "$BUILD_CMIRRORD" = yes; then
AC_ARG_WITH(cmirrord-pidfile,
- AC_HELP_STRING([--with-cmirrord-pidfile=PATH],
+ AS_HELP_STRING([--with-cmirrord-pidfile=PATH],
[cmirrord pidfile [PID_DIR/cmirrord.pid]]),
CMIRRORD_PIDFILE=$withval,
CMIRRORD_PIDFILE="$DEFAULT_PID_DIR/cmirrord.pid")
@@ -808,7 +808,7 @@ fi
################################################################################
dnl -- Enable debugging
AC_MSG_CHECKING(whether to enable debugging)
-AC_ARG_ENABLE(debug, AC_HELP_STRING([--enable-debug], [enable debugging]),
+AC_ARG_ENABLE(debug, AS_HELP_STRING([--enable-debug], [enable debugging]),
DEBUG=$enableval, DEBUG=no)
AC_MSG_RESULT($DEBUG)
@@ -831,7 +831,7 @@ AC_SUBST(HAVE_WSYNCNAND)
dnl -- Override optimisation
AC_MSG_CHECKING(for C optimisation flag)
AC_ARG_WITH(optimisation,
- AC_HELP_STRING([--with-optimisation=OPT],
+ AS_HELP_STRING([--with-optimisation=OPT],
[C optimisation flag [OPT=-O2]]),
COPTIMISE_FLAG=$withval)
AC_MSG_RESULT($COPTIMISE_FLAG)
@@ -840,7 +840,7 @@ AC_MSG_RESULT($COPTIMISE_FLAG)
dnl -- Symbol versioning
AC_MSG_CHECKING(whether to use symbol versioning)
AC_ARG_WITH(symvers,
- AC_HELP_STRING([--with-symvers=STYLE],
+ AS_HELP_STRING([--with-symvers=STYLE],
[use symbol versioning of the shared library [default=gnu]]),
[ case "$withval" in
gnu|no) symvers=$withval ;;
@@ -863,7 +863,7 @@ fi
dnl -- Enable profiling
AC_MSG_CHECKING(whether to gather gcov profiling data)
AC_ARG_ENABLE(profiling,
- AC_HELP_STRING([--enable-profiling],
+ AS_HELP_STRING([--enable-profiling],
[gather gcov profiling data]),
PROFILING=$enableval, PROFILING=no)
AC_MSG_RESULT($PROFILING)
@@ -897,7 +897,7 @@ AC_DEFINE_UNQUOTED(TESTSUITE_DATA, ["$(eval echo $(eval echo $TESTSUITE_DATA))"]
dnl -- Enable valgrind awareness of memory pools
AC_MSG_CHECKING(whether to enable valgrind awareness of pools)
AC_ARG_ENABLE(valgrind_pool,
- AC_HELP_STRING([--enable-valgrind-pool],
+ AS_HELP_STRING([--enable-valgrind-pool],
[enable valgrind awareness of pools]),
VALGRIND_POOL=$enableval, VALGRIND_POOL=no)
AC_MSG_RESULT($VALGRIND_POOL)
@@ -918,7 +918,7 @@ fi
dnl -- Disable devmapper
AC_MSG_CHECKING(whether to use device-mapper)
AC_ARG_ENABLE(devmapper,
- AC_HELP_STRING([--disable-devmapper],
+ AS_HELP_STRING([--disable-devmapper],
[disable LVM2 device-mapper interaction]),
DEVMAPPER=$enableval)
AC_MSG_RESULT($DEVMAPPER)
@@ -931,7 +931,7 @@ fi
dnl -- Build lvmpolld
AC_MSG_CHECKING(whether to build lvmpolld)
AC_ARG_ENABLE(lvmpolld,
- AC_HELP_STRING([--enable-lvmpolld],
+ AS_HELP_STRING([--enable-lvmpolld],
[enable the LVM Polling Daemon]),
LVMPOLLD=$enableval)
test -n "$LVMPOLLD" && BUILD_LVMPOLLD=$LVMPOLLD
@@ -943,7 +943,7 @@ BUILD_LVMLOCKD=no
dnl -- Build lvmlockdsanlock
AC_MSG_CHECKING(whether to build lvmlockdsanlock)
AC_ARG_ENABLE(lvmlockd-sanlock,
- AC_HELP_STRING([--enable-lvmlockd-sanlock],
+ AS_HELP_STRING([--enable-lvmlockd-sanlock],
[enable the LVM lock daemon using sanlock]),
LOCKDSANLOCK=$enableval)
AC_MSG_RESULT($LOCKDSANLOCK)
@@ -961,7 +961,7 @@ fi
dnl -- Build lvmlockddlm
AC_MSG_CHECKING(whether to build lvmlockddlm)
AC_ARG_ENABLE(lvmlockd-dlm,
- AC_HELP_STRING([--enable-lvmlockd-dlm],
+ AS_HELP_STRING([--enable-lvmlockd-dlm],
[enable the LVM lock daemon using dlm]),
LOCKDDLM=$enableval)
AC_MSG_RESULT($LOCKDDLM)
@@ -979,7 +979,7 @@ fi
dnl -- Build lvmlockddlmcontrol
AC_MSG_CHECKING(whether to build lvmlockddlmcontrol)
AC_ARG_ENABLE(lvmlockd-dlmcontrol,
- AC_HELP_STRING([--enable-lvmlockd-dlmcontrol],
+ AS_HELP_STRING([--enable-lvmlockd-dlmcontrol],
[enable lvmlockd remote refresh using libdlmcontrol]),
LOCKDDLM_CONTROL=$enableval)
AC_MSG_RESULT($LOCKDDLM_CONTROL)
@@ -997,7 +997,7 @@ fi
dnl -- Build lvmlockdidm
AC_MSG_CHECKING(whether to build lvmlockdidm)
AC_ARG_ENABLE(lvmlockd-idm,
- AC_HELP_STRING([--enable-lvmlockd-idm],
+ AS_HELP_STRING([--enable-lvmlockd-idm],
[enable the LVM lock daemon using idm]),
LOCKDIDM=$enableval)
AC_MSG_RESULT($LOCKDIDM)
@@ -1022,7 +1022,7 @@ if test "$BUILD_LVMLOCKD" = yes; then
AS_IF([test "$BUILD_LVMPOLLD" = no], [BUILD_LVMPOLLD=yes; AC_MSG_WARN([Enabling lvmpolld - required by lvmlockd.])])
AC_MSG_CHECKING([defaults for use_lvmlockd])
AC_ARG_ENABLE(use_lvmlockd,
- AC_HELP_STRING([--disable-use-lvmlockd],
+ AS_HELP_STRING([--disable-use-lvmlockd],
[disable usage of LVM lock daemon]),
[case ${enableval} in
yes) DEFAULT_USE_LVMLOCKD=1 ;;
@@ -1032,7 +1032,7 @@ if test "$BUILD_LVMLOCKD" = yes; then
AC_DEFINE([LVMLOCKD_SUPPORT], 1, [Define to 1 to include code that uses lvmlockd.])
AC_ARG_WITH(lvmlockd-pidfile,
- AC_HELP_STRING([--with-lvmlockd-pidfile=PATH],
+ AS_HELP_STRING([--with-lvmlockd-pidfile=PATH],
[lvmlockd pidfile [PID_DIR/lvmlockd.pid]]),
LVMLOCKD_PIDFILE=$withval,
LVMLOCKD_PIDFILE="$DEFAULT_PID_DIR/lvmlockd.pid")
@@ -1049,7 +1049,7 @@ dnl -- Check lvmpolld
if test "$BUILD_LVMPOLLD" = yes; then
AC_MSG_CHECKING([defaults for use_lvmpolld])
AC_ARG_ENABLE(use_lvmpolld,
- AC_HELP_STRING([--disable-use-lvmpolld],
+ AS_HELP_STRING([--disable-use-lvmpolld],
[disable usage of LVM Poll Daemon]),
[case ${enableval} in
yes) DEFAULT_USE_LVMPOLLD=1 ;;
@@ -1059,7 +1059,7 @@ if test "$BUILD_LVMPOLLD" = yes; then
AC_DEFINE([LVMPOLLD_SUPPORT], 1, [Define to 1 to include code that uses lvmpolld.])
AC_ARG_WITH(lvmpolld-pidfile,
- AC_HELP_STRING([--with-lvmpolld-pidfile=PATH],
+ AS_HELP_STRING([--with-lvmpolld-pidfile=PATH],
[lvmpolld pidfile [PID_DIR/lvmpolld.pid]]),
LVMPOLLD_PIDFILE=$withval,
LVMPOLLD_PIDFILE="$DEFAULT_PID_DIR/lvmpolld.pid")
@@ -1074,7 +1074,7 @@ AC_DEFINE_UNQUOTED(DEFAULT_USE_LVMPOLLD, [$DEFAULT_USE_LVMPOLLD],
################################################################################
dnl -- Check dmfilemapd
AC_MSG_CHECKING(whether to build dmfilemapd)
-AC_ARG_ENABLE(dmfilemapd, AC_HELP_STRING([--enable-dmfilemapd],
+AC_ARG_ENABLE(dmfilemapd, AS_HELP_STRING([--enable-dmfilemapd],
[enable the dmstats filemap daemon]),
BUILD_DMFILEMAPD=$enableval, BUILD_DMFILEMAPD=no)
AC_MSG_RESULT($BUILD_DMFILEMAPD)
@@ -1089,7 +1089,7 @@ fi
dnl -- Build notifydbus
AC_MSG_CHECKING(whether to build notifydbus)
AC_ARG_ENABLE(notify-dbus,
- AC_HELP_STRING([--enable-notify-dbus],
+ AS_HELP_STRING([--enable-notify-dbus],
[enable LVM notification using dbus]),
NOTIFYDBUS_SUPPORT=$enableval, NOTIFYDBUS_SUPPORT=no)
AC_MSG_RESULT($NOTIFYDBUS_SUPPORT)
@@ -1109,7 +1109,7 @@ fi
dnl -- Enable blkid wiping functionality
AC_ARG_ENABLE(blkid_wiping,
- AC_HELP_STRING([--disable-blkid_wiping],
+ AS_HELP_STRING([--disable-blkid_wiping],
[disable libblkid detection of signatures when wiping and use native code instead]),
BLKID_WIPING=$enableval, BLKID_WIPING=maybe)
@@ -1136,7 +1136,7 @@ AC_DEFINE_UNQUOTED(DEFAULT_USE_BLKID_WIPING, [$DEFAULT_USE_BLKID_WIPING],
dnl -- Enable udev-systemd protocol to instantiate a service for background jobs
dnl -- Requires systemd version 205 at least (including support for systemd-run)
AC_ARG_ENABLE(udev-systemd-background-jobs,
- AC_HELP_STRING([--disable-udev-systemd-background-jobs],
+ AS_HELP_STRING([--disable-udev-systemd-background-jobs],
[disable udev-systemd protocol to instantiate a service for background job]),
UDEV_SYSTEMD_BACKGROUND_JOBS=$enableval,
UDEV_SYSTEMD_BACKGROUND_JOBS=maybe)
@@ -1159,7 +1159,7 @@ AC_MSG_RESULT($UDEV_SYSTEMD_BACKGROUND_JOBS)
dnl -- Enable udev synchronisation
AC_MSG_CHECKING(whether to enable synchronisation with udev processing)
AC_ARG_ENABLE(udev_sync,
- AC_HELP_STRING([--enable-udev_sync],
+ AS_HELP_STRING([--enable-udev_sync],
[enable synchronisation with udev processing]),
UDEV_SYNC=$enableval, UDEV_SYNC=no)
AC_MSG_RESULT($UDEV_SYNC)
@@ -1177,14 +1177,14 @@ fi
dnl -- Enable udev rules
AC_MSG_CHECKING(whether to enable installation of udev rules required for synchronisation)
AC_ARG_ENABLE(udev_rules,
- AC_HELP_STRING([--enable-udev_rules],
+ AS_HELP_STRING([--enable-udev_rules],
[install rule files needed for udev synchronisation]),
UDEV_RULES=$enableval, UDEV_RULES=$UDEV_SYNC)
AC_MSG_RESULT($UDEV_RULES)
AC_MSG_CHECKING(whether to enable executable path detection in udev rules)
AC_ARG_ENABLE(udev_rule_exec_detection,
- AC_HELP_STRING([--enable-udev-rule-exec-detection],
+ AS_HELP_STRING([--enable-udev-rule-exec-detection],
[enable executable path detection in udev rules]),
UDEV_RULE_EXEC_DETECTION=$enableval, UDEV_RULE_EXEC_DETECTION=no)
AC_MSG_RESULT($UDEV_RULE_EXEC_DETECTION)
@@ -1204,7 +1204,7 @@ fi
################################################################################
dnl -- Compatibility mode
AC_ARG_ENABLE(compat,
- AC_HELP_STRING([--enable-compat],
+ AS_HELP_STRING([--enable-compat],
[enable support for old device-mapper versions]),
DM_COMPAT=$enableval, DM_COMPAT=no)
@@ -1217,7 +1217,7 @@ ioctl protocol is supported.])])
################################################################################
dnl -- Compatible units suffix mode
AC_ARG_ENABLE(units-compat,
- AC_HELP_STRING([--enable-units-compat],
+ AS_HELP_STRING([--enable-units-compat],
[enable output compatibility with old versions that
that do not use KiB-style unit suffixes]),
UNITS_COMPAT=$enableval, UNITS_COMPAT=no)
@@ -1229,7 +1229,7 @@ fi
################################################################################
dnl -- Disable ioctl
AC_ARG_ENABLE(ioctl,
- AC_HELP_STRING([--disable-ioctl],
+ AS_HELP_STRING([--disable-ioctl],
[disable ioctl calls to device-mapper in the kernel]),
DM_IOCTLS=$enableval)
AS_IF([test "$DM_IOCTLS" = yes],
@@ -1239,7 +1239,7 @@ AS_IF([test "$DM_IOCTLS" = yes],
dnl -- Disable O_DIRECT
AC_MSG_CHECKING(whether to enable O_DIRECT)
AC_ARG_ENABLE(o_direct,
- AC_HELP_STRING([--disable-o_direct], [disable O_DIRECT]),
+ AS_HELP_STRING([--disable-o_direct], [disable O_DIRECT]),
ODIRECT=$enableval)
AC_MSG_RESULT($ODIRECT)
@@ -1251,7 +1251,7 @@ fi
dnl -- Enable cmdlib
AC_MSG_CHECKING(whether to compile liblvm2cmd.so)
AC_ARG_ENABLE(cmdlib,
- AC_HELP_STRING([--enable-cmdlib], [build shared command library]),
+ AS_HELP_STRING([--enable-cmdlib], [build shared command library]),
CMDLIB=$enableval, CMDLIB=no)
AC_MSG_RESULT($CMDLIB)
AC_SUBST([LVM2CMD_LIB])
@@ -1263,7 +1263,7 @@ test "$CMDLIB" = yes \
dnl -- Enable D-Bus service
AC_MSG_CHECKING(whether to include Python D-Bus support)
AC_ARG_ENABLE(dbus-service,
- AC_HELP_STRING([--enable-dbus-service], [install D-Bus support]),
+ 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],
@@ -1297,20 +1297,20 @@ fi
################################################################################
dnl -- Enable pkg-config
AC_ARG_ENABLE(pkgconfig,
- AC_HELP_STRING([--enable-pkgconfig], [install pkgconfig support]),
+ AS_HELP_STRING([--enable-pkgconfig], [install pkgconfig support]),
PKGCONFIG=$enableval, PKGCONFIG=no)
################################################################################
dnl -- Enable installation of writable files by user
AC_ARG_ENABLE(write_install,
- AC_HELP_STRING([--enable-write_install],
+ AS_HELP_STRING([--enable-write_install],
[install user writable files]),
WRITE_INSTALL=$enableval, WRITE_INSTALL=no)
################################################################################
dnl -- Enable fsadm
AC_MSG_CHECKING(whether to install fsadm)
-AC_ARG_ENABLE(fsadm, AC_HELP_STRING([--disable-fsadm], [disable fsadm]),
+AC_ARG_ENABLE(fsadm, AS_HELP_STRING([--disable-fsadm], [disable fsadm]),
FSADM=$enableval)
AC_MSG_RESULT($FSADM)
@@ -1318,21 +1318,21 @@ AC_MSG_RESULT($FSADM)
################################################################################
dnl -- Enable lvm_import_vdo
AC_MSG_CHECKING(whether to install lvm_import_vdo)
-AC_ARG_ENABLE(lvmimportvdo, AC_HELP_STRING([--disable-lvmimportvdo], [disable lvm_import_vdo]),
+AC_ARG_ENABLE(lvmimportvdo, AS_HELP_STRING([--disable-lvmimportvdo], [disable lvm_import_vdo]),
LVMIMPORTVDO=$enableval)
AC_MSG_RESULT($LVMIMPORTVDO)
################################################################################
dnl -- Enable blkdeactivate
AC_MSG_CHECKING(whether to install blkdeactivate)
-AC_ARG_ENABLE(blkdeactivate, AC_HELP_STRING([--disable-blkdeactivate], [disable blkdeactivate]),
+AC_ARG_ENABLE(blkdeactivate, AS_HELP_STRING([--disable-blkdeactivate], [disable blkdeactivate]),
BLKDEACTIVATE=$enableval)
AC_MSG_RESULT($BLKDEACTIVATE)
################################################################################
dnl -- enable dmeventd handling
AC_MSG_CHECKING(whether to use dmeventd)
-AC_ARG_ENABLE(dmeventd, AC_HELP_STRING([--enable-dmeventd],
+AC_ARG_ENABLE(dmeventd, AS_HELP_STRING([--enable-dmeventd],
[enable the device-mapper event daemon]),
BUILD_DMEVENTD=$enableval, BUILD_DMEVENTD=no)
AC_MSG_RESULT($BUILD_DMEVENTD)
@@ -1390,7 +1390,7 @@ AC_CHECK_LIB([pthread], [pthread_mutex_lock],
dnl -- Disable selinux
AC_MSG_CHECKING(whether to enable selinux support)
AC_ARG_ENABLE(selinux,
- AC_HELP_STRING([--disable-selinux], [disable selinux support]),
+ AS_HELP_STRING([--disable-selinux], [disable selinux support]),
SELINUX=$enableval)
AC_MSG_RESULT($SELINUX)
@@ -1427,7 +1427,7 @@ int bar(void) { return ioctl(0, BLKZEROOUT, 0); }]
AC_ARG_ENABLE(blkzeroout,
- AC_HELP_STRING([--disable-blkzeroout],
+ AS_HELP_STRING([--disable-blkzeroout],
[do not use BLKZEROOUT for device zeroing]),
BLKZEROOUT=$enableval, BLKZEROOUT=yes)
@@ -1532,7 +1532,7 @@ fi
dnl -- Internationalisation stuff
AC_MSG_CHECKING(whether to enable internationalisation)
AC_ARG_ENABLE(nls,
- AC_HELP_STRING([--enable-nls], [enable Native Language Support]),
+ AS_HELP_STRING([--enable-nls], [enable Native Language Support]),
INTL=$enableval, INTL=no)
AC_MSG_RESULT($INTL)
@@ -1544,7 +1544,7 @@ if test "$INTL" = yes; then
AS_IF([test -z "$MSGFMT"], [AC_MSG_ERROR([msgfmt not found in path $PATH])])
AC_ARG_WITH(localedir,
- AC_HELP_STRING([--with-localedir=DIR],
+ AS_HELP_STRING([--with-localedir=DIR],
[locale-dependent data [DATAROOTDIR/locale]]),
localedir=$withval, localedir=${localedir-'${datarootdir}/locale'})
AC_DEFINE_UNQUOTED([INTL_PACKAGE], ["$INTL_PACKAGE"], [Internalization package])
@@ -1555,35 +1555,35 @@ fi
################################################################################
dnl -- FIXME: need to switch to regular option here --sysconfdir
AC_ARG_WITH(confdir,
- AC_HELP_STRING([--with-confdir=DIR],
+ AS_HELP_STRING([--with-confdir=DIR],
[configuration files in DIR [/etc]]),
CONFDIR=$withval, CONFDIR='/etc')
AC_DEFINE_UNQUOTED(DEFAULT_ETC_DIR, ["$CONFDIR"],
[Default system configuration directory.])
AC_ARG_WITH(staticdir,
- AC_HELP_STRING([--with-staticdir=DIR],
+ AS_HELP_STRING([--with-staticdir=DIR],
[static binaries in DIR [EPREFIX/sbin]]),
STATICDIR=$withval, STATICDIR='${exec_prefix}/sbin')
AC_ARG_WITH(usrlibdir,
- AC_HELP_STRING([--with-usrlibdir=DIR],
+ AS_HELP_STRING([--with-usrlibdir=DIR],
[usrlib in DIR [PREFIX/lib]]),
usrlibdir=$withval, usrlibdir='${prefix}/lib')
AC_ARG_WITH(usrsbindir,
- AC_HELP_STRING([--with-usrsbindir=DIR],
+ AS_HELP_STRING([--with-usrsbindir=DIR],
[usrsbin executables in DIR [PREFIX/sbin]]),
usrsbindir=$withval, usrsbindir='${prefix}/sbin')
################################################################################
AC_ARG_WITH(udev_prefix,
- AC_HELP_STRING([--with-udev-prefix=UPREFIX],
+ AS_HELP_STRING([--with-udev-prefix=UPREFIX],
[install udev rule files in UPREFIX [EPREFIX]]),
udev_prefix=$withval, udev_prefix='${exec_prefix}')
AC_ARG_WITH(udevdir,
- AC_HELP_STRING([--with-udevdir=DIR],
+ AS_HELP_STRING([--with-udevdir=DIR],
[udev rules in DIR [UPREFIX/lib/udev/rules.d]]),
udevdir=$withval, udevdir='${udev_prefix}/lib/udev/rules.d')
@@ -1591,7 +1591,7 @@ AC_ARG_WITH(udevdir,
dnl -- Get the systemd system unit dir value from pkg_config automatically if value not given explicitly.
dnl -- This follows the recommendation for systemd integration best practices mentioned in daemon(7) manpage.
AC_ARG_WITH(systemdsystemunitdir,
- AC_HELP_STRING([--with-systemdsystemunitdir=DIR],
+ AS_HELP_STRING([--with-systemdsystemunitdir=DIR],
[systemd service files in DIR]),
systemdsystemunitdir=$withval,
pkg_config_init
@@ -1605,7 +1605,7 @@ test -z "$systemdutildir" && systemdutildir='${exec_prefix}/lib/systemd';
################################################################################
AC_ARG_WITH(tmpfilesdir,
- AC_HELP_STRING([--with-tmpfilesdir=DIR],
+ AS_HELP_STRING([--with-tmpfilesdir=DIR],
[install configuration files for management of volatile files and directories in DIR [PREFIX/lib/tmpfiles.d]]),
tmpfilesdir=$withval, tmpfilesdir='${prefix}/lib/tmpfiles.d')
################################################################################
@@ -1684,7 +1684,7 @@ AC_DEFINE_UNQUOTED(LVMIMPORTVDO_PATH, ["$LVMIMPORTVDO_PATH"], [Path to lvm_impor
dnl -- dmeventd pidfile and executable path
if test "$BUILD_DMEVENTD" = yes; then
AC_ARG_WITH(dmeventd-pidfile,
- AC_HELP_STRING([--with-dmeventd-pidfile=PATH],
+ AS_HELP_STRING([--with-dmeventd-pidfile=PATH],
[dmeventd pidfile [PID_DIR/dmeventd.pid]]),
DMEVENTD_PIDFILE=$withval,
DMEVENTD_PIDFILE="$DEFAULT_PID_DIR/dmeventd.pid")
@@ -1694,7 +1694,7 @@ fi
if test "$BUILD_DMEVENTD" = yes; then
AC_ARG_WITH(dmeventd-path,
- AC_HELP_STRING([--with-dmeventd-path=PATH],
+ AS_HELP_STRING([--with-dmeventd-path=PATH],
[dmeventd path [EPREFIX/sbin/dmeventd]]),
DMEVENTD_PATH=$withval,
DMEVENTD_PATH="$SBINDIR/dmeventd")
@@ -1706,35 +1706,35 @@ fi
dnl -- various defaults
dnl -- FIXME: need to switch to regular option here --sysconfdir
AC_ARG_WITH(default-system-dir,
- AC_HELP_STRING([--with-default-system-dir=DIR],
+ AS_HELP_STRING([--with-default-system-dir=DIR],
[default LVM system directory [/etc/lvm]]),
DEFAULT_SYS_DIR=$withval, DEFAULT_SYS_DIR="/etc/lvm")
AC_DEFINE_UNQUOTED(DEFAULT_SYS_DIR, ["$DEFAULT_SYS_DIR"],
[Path to LVM system directory.])
AC_ARG_WITH(default-profile-subdir,
- AC_HELP_STRING([--with-default-profile-subdir=SUBDIR],
+ AS_HELP_STRING([--with-default-profile-subdir=SUBDIR],
[default configuration profile subdir [profile]]),
DEFAULT_PROFILE_SUBDIR=$withval, DEFAULT_PROFILE_SUBDIR=profile)
AC_DEFINE_UNQUOTED(DEFAULT_PROFILE_SUBDIR, ["$DEFAULT_PROFILE_SUBDIR"],
[Name of default configuration profile subdirectory.])
AC_ARG_WITH(default-archive-subdir,
- AC_HELP_STRING([--with-default-archive-subdir=SUBDIR],
+ AS_HELP_STRING([--with-default-archive-subdir=SUBDIR],
[default metadata archive subdir [archive]]),
DEFAULT_ARCHIVE_SUBDIR=$withval, DEFAULT_ARCHIVE_SUBDIR=archive)
AC_DEFINE_UNQUOTED(DEFAULT_ARCHIVE_SUBDIR, ["$DEFAULT_ARCHIVE_SUBDIR"],
[Name of default metadata archive subdirectory.])
AC_ARG_WITH(default-backup-subdir,
- AC_HELP_STRING([--with-default-backup-subdir=SUBDIR],
+ AS_HELP_STRING([--with-default-backup-subdir=SUBDIR],
[default metadata backup subdir [backup]]),
DEFAULT_BACKUP_SUBDIR=$withval, DEFAULT_BACKUP_SUBDIR=backup)
AC_DEFINE_UNQUOTED(DEFAULT_BACKUP_SUBDIR, ["$DEFAULT_BACKUP_SUBDIR"],
[Name of default metadata backup subdirectory.])
AC_ARG_WITH(default-cache-subdir,
- AC_HELP_STRING([--with-default-cache-subdir=SUBDIR],
+ AS_HELP_STRING([--with-default-cache-subdir=SUBDIR],
[default metadata cache subdir [cache]]),
DEFAULT_CACHE_SUBDIR=$withval, DEFAULT_CACHE_SUBDIR=cache)
AC_DEFINE_UNQUOTED(DEFAULT_CACHE_SUBDIR, ["$DEFAULT_CACHE_SUBDIR"],
@@ -1746,7 +1746,7 @@ test -d "$DEFAULT_SYS_LOCK_DIR" || DEFAULT_SYS_LOCK_DIR="/var/lock"
# Support configurable locking subdir for lvm
AC_ARG_WITH(default-locking-dir,
- AC_HELP_STRING([--with-default-locking-dir=DIR],
+ AS_HELP_STRING([--with-default-locking-dir=DIR],
[default locking directory [autodetect_lock_dir/lvm]]),
DEFAULT_LOCK_DIR=$withval,
[AC_MSG_CHECKING(for default lock directory)
@@ -1759,7 +1759,7 @@ AC_DEFINE_UNQUOTED(DEFAULT_LOCK_DIR, ["$DEFAULT_LOCK_DIR"],
dnl -- which kernel interface to use (ioctl only)
AC_MSG_CHECKING(for kernel interface choice)
AC_ARG_WITH(interface,
- AC_HELP_STRING([--with-interface=IFACE],
+ AS_HELP_STRING([--with-interface=IFACE],
[choose kernel interface (ioctl) [ioctl]]),
interface=$withval, interface=ioctl)
test "$interface" != ioctl && AC_MSG_ERROR([--with-interface=ioctl required. fs no longer supported.])
2 years, 6 months
main - configure: check ffs __builtin_ffs versionsort
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=ff788ef19c498967ba8...
Commit: ff788ef19c498967ba83fb54c14700de7d4c274a
Parent: 27eef1b96402abaadbd328d8912f3ccce96df5e2
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Fri Sep 24 18:04:39 2021 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Mon Sep 27 18:56:13 2021 +0200
configure: check ffs __builtin_ffs versionsort
Check for presence of ffs(), __builtin_ffs() and versionsort().
---
configure | 65 +++++++++++++++++++++++++++++++++++++++++++-------
configure.ac | 3 ++-
include/configure.h.in | 9 +++++++
3 files changed, 68 insertions(+), 9 deletions(-)
diff --git a/configure b/configure
index 9b1508255..8a267d0f1 100755
--- a/configure
+++ b/configure
@@ -6701,6 +6701,46 @@ fi
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __builtin_ffs" >&5
+printf %s "checking for __builtin_ffs... " >&6; }
+if test ${ax_cv_have___builtin_ffs+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main (void)
+{
+
+ __builtin_ffs(0)
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+ ax_cv_have___builtin_ffs=yes
+else $as_nop
+ ax_cv_have___builtin_ffs=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_have___builtin_ffs" >&5
+printf "%s\n" "$ax_cv_have___builtin_ffs" >&6; }
+
+ if test yes = $ax_cv_have___builtin_ffs
+then :
+
+printf "%s\n" "#define HAVE___BUILTIN_FFS 1" >>confdefs.h
+
+fi
+
$as_echo "#define _GNU_SOURCE 1" >>confdefs.h
@@ -6726,16 +6766,25 @@ else
fi
done
-for ac_func in prlimit
-do :
- ac_fn_c_check_func "$LINENO" "prlimit" "ac_cv_func_prlimit"
-if test "x$ac_cv_func_prlimit" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_PRLIMIT 1
-_ACEOF
+ac_fn_c_check_func "$LINENO" "ffs" "ac_cv_func_ffs"
+if test "x$ac_cv_func_ffs" = xyes
+then :
+ printf "%s\n" "#define HAVE_FFS 1" >>confdefs.h
fi
-done
+ac_fn_c_check_func "$LINENO" "prlimit" "ac_cv_func_prlimit"
+if test "x$ac_cv_func_prlimit" = xyes
+then :
+ printf "%s\n" "#define HAVE_PRLIMIT 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "versionsort" "ac_cv_func_versionsort"
+if test "x$ac_cv_func_versionsort" = xyes
+then :
+ printf "%s\n" "#define HAVE_VERSIONSORT 1" >>confdefs.h
+
+fi
+
# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
# for constant arguments. Useless!
diff --git a/configure.ac b/configure.ac
index a821edf2a..a65a957e0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -144,6 +144,7 @@ AC_TYPE_UINT32_T
AC_TYPE_UINT64_T
AX_GCC_BUILTIN([__builtin_clz])
AX_GCC_BUILTIN([__builtin_clzll])
+AX_GCC_BUILTIN([__builtin_ffs])
AC_DEFINE([_GNU_SOURCE], 1, [Define to get access to GNU/Linux extension])
@@ -156,7 +157,7 @@ AC_CHECK_FUNCS([ftruncate gethostname getpagesize gettimeofday localtime_r \
memchr memset mkdir mkfifo munmap nl_langinfo pselect realpath rmdir setenv \
setlocale strcasecmp strchr strcspn strdup strerror strncasecmp strndup \
strrchr strspn strstr strtol strtoul uname], , [AC_MSG_ERROR(bailing out)])
-AC_CHECK_FUNCS([prlimit])
+AC_CHECK_FUNCS([ffs prlimit versionsort])
AC_FUNC_ALLOCA
AC_FUNC_CLOSEDIR_VOID
AC_FUNC_CHOWN
diff --git a/include/configure.h.in b/include/configure.h.in
index 8fb5ca9fe..637bfc341 100644
--- a/include/configure.h.in
+++ b/include/configure.h.in
@@ -194,6 +194,9 @@
/* Define to 1 if you have the <fcntl.h> header file. */
#undef HAVE_FCNTL_H
+/* Define to 1 if you have the `ffs' function. */
+#undef HAVE_FFS
+
/* Define to 1 if you have the <float.h> header file. */
#undef HAVE_FLOAT_H
@@ -519,6 +522,9 @@
/* valgrind.h found */
#undef HAVE_VALGRIND
+/* Define to 1 if you have the `versionsort' function. */
+#undef HAVE_VERSIONSORT
+
/* Define to 1 if you have the `vfork' function. */
#undef HAVE_VFORK
@@ -543,6 +549,9 @@
/* Define to 1 if the system has the `__builtin_clzll' built-in function */
#undef HAVE___BUILTIN_CLZLL
+/* Define to 1 if the system has the `__builtin_ffs' built-in function */
+#undef HAVE___BUILTIN_FFS
+
/* Define to 1 to include built-in support for integrity. */
#undef INTEGRITY_INTERNAL
2 years, 6 months
main - cov: make more obvious buffer is zero ended
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=27eef1b96402abaadbd...
Commit: 27eef1b96402abaadbd328d8912f3ccce96df5e2
Parent: 3a3aabb8326c3ccfb9266663b538b9769ebccf28
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Fri Sep 24 14:25:40 2021 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Mon Sep 27 18:56:13 2021 +0200
cov: make more obvious buffer is zero ended
---
tools/pvck.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/tools/pvck.c b/tools/pvck.c
index b96b1c784..5273da63c 100644
--- a/tools/pvck.c
+++ b/tools/pvck.c
@@ -901,7 +901,7 @@ static int _dump_current_text(struct device *dev, struct devicefile *def,
int ri = rlocn_index; /* 0 or 1 */
int bad = 0;
- if (!(meta_buf = zalloc(meta_size + 1))) {
+ if (!(meta_buf = malloc(meta_size + 1))) {
log_print("CHECK: mda_header_%d.raw_locn[%d] no mem for metadata text size %llu", mn, ri,
(unsigned long long)meta_size);
return 0;
@@ -947,6 +947,7 @@ static int _dump_current_text(struct device *dev, struct devicefile *def,
}
}
+ meta_buf[meta_size] = 0;
crc = calc_crc(INITIAL_CRC, (uint8_t *)meta_buf, meta_size);
if (crc != meta_checksum) {
log_print("CHECK: metadata text at %llu crc does not match mda_header_%d.raw_locn[%d].checksum",
2 years, 6 months
main - metadata: avoid excessive check of /etc/localtime
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=3a3aabb8326c3ccfb92...
Commit: 3a3aabb8326c3ccfb9266663b538b9769ebccf28
Parent: 61a6f9905e87e650f0bddae83fec6923bb100a57
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Mon Sep 27 15:52:41 2021 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Mon Sep 27 18:56:13 2021 +0200
metadata: avoid excessive check of /etc/localtime
With larger metadata, decoding 'localtime()' for hinting time creation
of every LV may cause excessive check of /etc/localtime file.
Set TZ to ":/etc/localtime" so glibc reads this file just once
instead of check everytime if there has anything changed.
---
tools/lvmcmdline.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/tools/lvmcmdline.c b/tools/lvmcmdline.c
index 7c5930006..1fc2dc3bb 100644
--- a/tools/lvmcmdline.c
+++ b/tools/lvmcmdline.c
@@ -3043,6 +3043,11 @@ int lvm_run_command(struct cmd_context *cmd, int argc, char **argv)
int skip_hyphens;
int refresh_done = 0;
+ /* Avoid excessive access to /etc/localtime and set TZ variable for glibc
+ * so it does not need to check /etc/localtime everytime that needs that info */
+ if (!getenv("TZ"))
+ setenv("TZ", ":/etc/localtime", 0);
+
init_error_message_produced(0);
/* each command should start out with sigint flag cleared */
2 years, 6 months
main - metadata: optimize reading metadata copies in scan
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=61a6f9905e87e650f0b...
Commit: 61a6f9905e87e650f0bddae83fec6923bb100a57
Parent: 24e90f9594a79a8be851cffe1a5e47741dbff663
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Mon Sep 27 17:14:56 2021 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Mon Sep 27 18:56:13 2021 +0200
metadata: optimize reading metadata copies in scan
While being in lockless scanning phase, we can avoid reading and checking
matching metadata copies if we already know them from other PV
and just rely on matching metadata header information.
These copies will be examined later during locked metadata read/write
access.
This patch may postpone discovering some read failures to locked phase.
---
WHATS_NEW | 1 +
lib/format_text/format-text.c | 8 ++++++--
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/WHATS_NEW b/WHATS_NEW
index 6106edbfd..0cae2642e 100644
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,5 +1,6 @@
Version 2.03.14 -
==================================
+ Reduce metadata readings during scanning phase.
Optimize computation of crc32 check sum with multiple PVs.
Enhance recover path on cache creation failure.
Filter out unsupported MQ/SMQ cache policy setting.
diff --git a/lib/format_text/format-text.c b/lib/format_text/format-text.c
index 29efa8ff6..b2bbf3c66 100644
--- a/lib/format_text/format-text.c
+++ b/lib/format_text/format-text.c
@@ -1570,7 +1570,11 @@ int read_metadata_location_summary(const struct format_type *fmt,
/* Keep track of largest metadata size we find. */
lvmcache_save_metadata_size(rlocn->size);
- lvmcache_lookup_mda(vgsummary);
+ if (lvmcache_lookup_mda(vgsummary)) {
+ log_debug("Skipping read of already known VG metadata with matching mda checksum on %s.",
+ dev_name(dev_area->dev));
+ goto out;
+ }
if (!text_read_metadata_summary(fmt, dev_area->dev, MDA_CONTENT_REASON(primary_mda),
(off_t) (dev_area->start + rlocn->offset),
@@ -1591,7 +1595,7 @@ int read_metadata_location_summary(const struct format_type *fmt,
(unsigned long long)(dev_area->start + rlocn->offset));
return 0;
}
-
+out:
log_debug_metadata("Found metadata summary on %s at %llu size %llu for VG %s",
dev_name(dev_area->dev),
(unsigned long long)(dev_area->start + rlocn->offset),
2 years, 6 months
main - metadata: remember parsing size of VG metadata
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=24e90f9594a79a8be85...
Commit: 24e90f9594a79a8be851cffe1a5e47741dbff663
Parent: a42ea349f6733fda6eef7741c49208274b0a5388
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Mon Sep 27 15:55:53 2021 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Mon Sep 27 18:49:41 2021 +0200
metadata: remember parsing size of VG metadata
When creating lvm2 metadata for VG, lvm2 allocate some buffer,
and if buffer is not big enough, the buffer is 'reallocated' bigger,
and whole metadata creation is repeated until metadata fits.
We can try to use 'previous' metadata size as hint to reduce looping
here.
---
lib/format_text/export.c | 2 +-
lib/format_text/import.c | 1 +
lib/metadata/vg.h | 1 +
3 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/lib/format_text/export.c b/lib/format_text/export.c
index 6ece94042..fbb8fb1ee 100644
--- a/lib/format_text/export.c
+++ b/lib/format_text/export.c
@@ -1071,7 +1071,7 @@ size_t text_vg_export_raw(struct volume_group *vg, const char *desc, char **buf,
.header = 0,
.out_with_comment = &_out_with_comment_raw,
.nl = &_nl_raw,
- .data.buf.size = 65536, /* Initial metadata limit */
+ .data.buf.size = vg->buffer_size_hint + 16384, /* Initial metadata limit */
};
_init();
diff --git a/lib/format_text/import.c b/lib/format_text/import.c
index 2687d172e..e4e526354 100644
--- a/lib/format_text/import.c
+++ b/lib/format_text/import.c
@@ -187,6 +187,7 @@ struct volume_group *text_read_metadata(struct format_instance *fid,
(*vsn)->read_desc(vg->vgmem, cft, when, desc);
vg->committed_cft = cft; /* Reuse CFT for recreation of committed VG */
+ vg->buffer_size_hint = size + size2;
cft = NULL;
break;
}
diff --git a/lib/metadata/vg.h b/lib/metadata/vg.h
index 8ce57acdc..96ab6a0b2 100644
--- a/lib/metadata/vg.h
+++ b/lib/metadata/vg.h
@@ -45,6 +45,7 @@ struct volume_group {
unsigned needs_backup : 1;
unsigned needs_write_and_commit : 1;
uint32_t write_count; /* count the number of vg_write calls */
+ uint32_t buffer_size_hint; /* hint with buffer size of parsed VG */
/*
* The parsed committed (on-disk) copy of this VG; is NULL if this VG is committed
2 years, 6 months
main - metadata: remember crc32 when writing vg metadata
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=a42ea349f6733fda6ee...
Commit: a42ea349f6733fda6eef7741c49208274b0a5388
Parent: a3352f08f687e1db4bb20a2f1b1c52bb888b9d97
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Mon Sep 27 11:41:03 2021 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Mon Sep 27 18:49:41 2021 +0200
metadata: remember crc32 when writing vg metadata
Preserve computed crc32 check from first written PV, just like we
preserve generated metadata.
Also there is no need to call crc32 twice on wrapping buffer with 2 calcs,
result must be always the same as with single crc32 checking.
---
WHATS_NEW | 1 +
lib/format_text/format-text.c | 13 ++++++-------
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/WHATS_NEW b/WHATS_NEW
index e9a5de820..6106edbfd 100644
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,5 +1,6 @@
Version 2.03.14 -
==================================
+ Optimize computation of crc32 check sum with multiple PVs.
Enhance recover path on cache creation failure.
Filter out unsupported MQ/SMQ cache policy setting.
Fix memleak in mpath filter.
diff --git a/lib/format_text/format-text.c b/lib/format_text/format-text.c
index 44c77d027..29efa8ff6 100644
--- a/lib/format_text/format-text.c
+++ b/lib/format_text/format-text.c
@@ -42,6 +42,7 @@ struct text_fid_context {
char *write_buf; /* buffer containing metadata text to write to disk */
uint32_t write_buf_size; /* mem size of write_buf, increases in 64K multiples */
uint32_t new_metadata_size; /* size of text metadata in buf */
+ uint32_t checksum; /* crc32 checksum for new metadata */
unsigned preserve:1;
};
@@ -542,6 +543,7 @@ static int _vg_write_raw(struct format_instance *fid, struct volume_group *vg,
uint64_t write2_start = 0, write2_last = 0, write2_size = 0;
uint32_t write1_over = 0, write2_over = 0;
uint32_t write_buf_size;
+ uint32_t checksum;
uint32_t extra_size;
uint32_t bad_fields = 0;
char *write_buf = NULL;
@@ -601,6 +603,7 @@ static int _vg_write_raw(struct format_instance *fid, struct volume_group *vg,
write_buf = fidtc->write_buf;
write_buf_size = fidtc->write_buf_size;
new_size = fidtc->new_metadata_size;
+ checksum = fidtc->checksum;
} else {
if (!vg->write_count++)
(void) dm_snprintf(desc, sizeof(desc), "Write from %s.", vg->cmd->cmd_line);
@@ -631,6 +634,8 @@ static int _vg_write_raw(struct format_instance *fid, struct volume_group *vg,
dm_config_destroy(cft);
if (!vg->vg_precommitted)
goto_out;
+
+ fidtc->checksum = checksum = calc_crc(INITIAL_CRC, (uint8_t *)write_buf, new_size);
}
log_debug_metadata("VG %s seqno %u metadata write to %s mda_start %llu mda_size %llu mda_last %llu",
@@ -954,13 +959,7 @@ static int _vg_write_raw(struct format_instance *fid, struct volume_group *vg,
dev_unset_last_byte(mdac->area.dev);
- rlocn_new->checksum = calc_crc(INITIAL_CRC,
- (uint8_t *)write_buf,
- (uint32_t)(new_size - new_wrap));
- if (new_wrap)
- rlocn_new->checksum = calc_crc(rlocn_new->checksum,
- (uint8_t *)write_buf + new_size - new_wrap,
- (uint32_t)new_wrap);
+ rlocn_new->checksum = checksum;
r = 1;
2 years, 6 months