[Git][lvmteam/lvm2][main] 6 commits: libdm: versionion symbol for enhanced dm_task_run
Zdeněk Kabeláč (@zdenek.kabelac) <[email protected]>
| Newsgroups | gmane.linux.lvm.devel |
|---|---|
| Message-ID | <6529ce35d80d0_2ca54603563b@gitlab-sidekiq-low-urgency-cpu-bound-v2-59d68cd46b-kcjfh.mail> |
Zdeněk Kabeláč pushed to branch main at LVM team / lvm2
Commits:
85c76293 by Zdenek Kabelac at 2023-10-14T01:04:10+02:00
libdm: versionion symbol for enhanced dm_task_run
When new app links with current dm_task_run() that propagates ioctl()
errno - ensure it will not be usable with older version without this
supported feature.
- - - - -
46eeb62b by Zdenek Kabelac at 2023-10-14T01:04:10+02:00
pool: fix recalculate of pool chunk_size
Before checking seg_type of the first area, check there is
some existing area.
Since we now support error and zero segtypes, these do not have
any PV area present.
- - - - -
afe1b2be by Zdenek Kabelac at 2023-10-14T01:04:10+02:00
debug: initialize empty string
- - - - -
dd7663d2 by Zdenek Kabelac at 2023-10-14T01:04:10+02:00
configure.ac: enhancemetns
Simplify configuration with enabling options:
- For --enable-dmeventd automatically --enable-cmdlib.
- For --enable-dbus-service auto --enable-notify-dbus.
Fix check linux/fiemap.h for dmfilemapd.
- - - - -
0627716f by Zdenek Kabelac at 2023-10-14T01:04:10+02:00
configure: update
- - - - -
43020cc4 by Zdenek Kabelac at 2023-10-14T01:04:10+02:00
WHATS_NEW{_DM}: update
- - - - -
8 changed files:
- WHATS_NEW
- WHATS_NEW_DM
- configure
- configure.ac
- lib/metadata/pool_manip.c
- + libdm/.exported_symbols.DM_1_02_197
- libdm/ioctl/libdm-iface.c
- tools/lvconvert.c
Changes:
=====================================
WHATS_NEW
=====================================
@@ -1,5 +1,9 @@
version 2.03.23 -
==================================
+ Configure automatically enables cmdlib for dmeventd and notify-dbus for dbus.
+ Fix hint calculation for pools with zero or error segment.
+ Configure supports --disable-shared to build only static binaries.
+ Configure supports --without-{blkid|systemd|udev} for easierstatic build.
Fix pvmove when specifying raid components as moved LVs.
Enhance error detection for lvm_import_vdo.
Support PV lists with thin lvconvert.
=====================================
WHATS_NEW_DM
=====================================
@@ -1,6 +1,8 @@
Version 1.02.197 -
===================================
- Add support for exit-on file for dmevent to reduce shutdown delays.
+ Propagate ioctl errno from dm_task_run when creating new table line.
+ Add support for group aliases in dmstats.
+ Add support for exit-on file for dmeventd to reduce shutdown delays.
Add configure option --with-dmeventd-exit-on-path to specify default path.
Add dmsetup --headings none|abbrev|full to set report headings type.
Add DM_REPORT_OUTPUT_FIELD_IDS_IN_HEADINGS to provide alternative headings.
=====================================
configure
=====================================
@@ -711,6 +711,7 @@ LVMPOLLD_PIDFILE
LVMLOCKD_PIDFILE
LVMIMPORTVDO_PATH
LVMIMPORTVDO
+LVM2CMD_LIB
LIB_SUFFIX
LDDEPS
JOBS
@@ -786,14 +787,13 @@ PYTHON_PREFIX
PYTHON_PLATFORM
PYTHON_VERSION
PYTHON
-LVM2CMD_LIB
+LIBSYSTEMD_LIBS
+LIBSYSTEMD_CFLAGS
UDEV_LIBS
UDEV_CFLAGS
BLKID_LIBS
BLKID_CFLAGS
SYSTEMD_RUN_CMD
-LIBSYSTEMD_LIBS
-LIBSYSTEMD_CFLAGS
LIBSEAGATEILM_LIBS
LIBSEAGATEILM_CFLAGS
LIBDLMCONTROL_LIBS
@@ -973,7 +973,6 @@ enable_use_lvmlockd
with_lvmlockd_pidfile
enable_use_lvmpolld
with_lvmpolld_pidfile
-enable_notify_dbus
enable_systemd_journal
enable_app_machineid
with_systemd_run
@@ -984,8 +983,8 @@ enable_udev_rule_exec_detection
enable_units_compat
enable_ioctl
enable_o_direct
-enable_cmdlib
enable_dbus_service
+enable_notify_dbus
with_python_sys_prefix
with_python_prefix
with_python_exec_prefix
@@ -995,6 +994,7 @@ enable_fsadm
enable_lvmimportvdo
enable_blkdeactivate
enable_dmeventd
+enable_cmdlib
enable_dmfilemapd
enable_selinux
enable_blkzeroout
@@ -1047,12 +1047,12 @@ LIBDLMCONTROL_CFLAGS
LIBDLMCONTROL_LIBS
LIBSEAGATEILM_CFLAGS
LIBSEAGATEILM_LIBS
-LIBSYSTEMD_CFLAGS
-LIBSYSTEMD_LIBS
BLKID_CFLAGS
BLKID_LIBS
UDEV_CFLAGS
UDEV_LIBS
+LIBSYSTEMD_CFLAGS
+LIBSYSTEMD_LIBS
PYTHON
SELINUX_CFLAGS
SELINUX_LIBS
@@ -1714,7 +1714,6 @@ Optional Features:
--enable-lvmlockd-idm enable the LVM lock daemon using idm
--disable-use-lvmlockd disable usage of LVM lock daemon
--disable-use-lvmpolld disable usage of LVM Poll Daemon
- --enable-notify-dbus enable LVM notification using dbus
--disable-systemd-journal
disable LVM systemd journaling
--disable-app-machineid disable LVM system ID using app-specific machine-id
@@ -1728,14 +1727,15 @@ Optional Features:
that do not use KiB-style unit suffixes
--disable-ioctl disable ioctl calls to device-mapper in the kernel
--disable-o_direct disable O_DIRECT
- --enable-cmdlib build shared command library
--enable-dbus-service install D-Bus support
+ --enable-notify-dbus enable LVM notification using dbus
--enable-pkgconfig install pkgconfig support
--enable-write_install install user writable files
--disable-fsadm disable fsadm
--disable-lvmimportvdo disable lvm_import_vdo
--disable-blkdeactivate disable blkdeactivate
--enable-dmeventd enable the device-mapper event daemon
+ --enable-cmdlib build shared command library
--enable-dmfilemapd enable the dmstats filemap daemon
--disable-selinux disable selinux support
--disable-blkzeroout do not use BLKZEROOUT for device zeroing
@@ -1878,15 +1878,15 @@ Some influential environment variables:
C compiler flags for LIBSEAGATEILM, overriding pkg-config
LIBSEAGATEILM_LIBS
linker flags for LIBSEAGATEILM, overriding pkg-config
- LIBSYSTEMD_CFLAGS
- C compiler flags for LIBSYSTEMD, overriding pkg-config
- LIBSYSTEMD_LIBS
- linker flags for LIBSYSTEMD, overriding pkg-config
BLKID_CFLAGS
C compiler flags for BLKID, overriding pkg-config
BLKID_LIBS linker flags for BLKID, overriding pkg-config
UDEV_CFLAGS C compiler flags for UDEV, overriding pkg-config
UDEV_LIBS linker flags for UDEV, overriding pkg-config
+ LIBSYSTEMD_CFLAGS
+ C compiler flags for LIBSYSTEMD, overriding pkg-config
+ LIBSYSTEMD_LIBS
+ linker flags for LIBSYSTEMD, overriding pkg-config
PYTHON the Python interpreter
SELINUX_CFLAGS
C compiler flags for SELINUX, overriding pkg-config
@@ -12665,9 +12665,9 @@ printf "%s\n" "#define DEFAULT_USE_LVMPOLLD $DEFAULT_USE_LVMPOLLD" >>confdefs.h
SYSTEMD_MIN_VERSION=0
+NOTIFYDBUS_SUPPORT="no"
SYSTEMD_JOURNAL_SUPPORT="no"
APP_MACHINEID_SUPPORT="no"
-
if test "$with_systemd" = "yes"
then :
if test -n "$PKG_CONFIG" && \
@@ -12676,7 +12676,7 @@ then :
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- SYSTEMD_MIN_VERSION=221 SYSTEMD_JOURNAL_SUPPORT="maybe"
+ SYSTEMD_MIN_VERSION=221 NOTIFYDBUS_SUPPORT="maybe" SYSTEMD_JOURNAL_SUPPORT="maybe"
fi
if test -n "$PKG_CONFIG" && \
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"systemd >= 234\""; } >&5
@@ -12688,31 +12688,6 @@ fi
fi
fi
-################################################################################
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build notifydbus" >&5
-printf %s "checking whether to build notifydbus... " >&6; }
-# Check whether --enable-notify-dbus was given.
-if test ${enable_notify_dbus+y}
-then :
- enableval=$enable_notify_dbus; NOTIFYDBUS_SUPPORT=$enableval
-else $as_nop
- NOTIFYDBUS_SUPPORT="no"
-fi
-
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $NOTIFYDBUS_SUPPORT" >&5
-printf "%s\n" "$NOTIFYDBUS_SUPPORT" >&6; }
-
-if test "$NOTIFYDBUS_SUPPORT" = "yes"
-then :
- if test "$SYSTEMD_MIN_VERSION" -lt 221
-then :
- as_fn_error $? "--enable-notify-dbus requires systemd >= 221. (--with-systemd=$with_systemd)" "$LINENO" 5
-fi
-
-printf "%s\n" "#define NOTIFYDBUS_SUPPORT 1" >>confdefs.h
-
-fi
-
################################################################################
if test "$SYSTEMD_JOURNAL_SUPPORT" != "no"
then :
@@ -12781,103 +12756,6 @@ printf "%s\n" "#define APP_MACHINEID_SUPPORT 1" >>confdefs.h
fi
-if test "$NOTIFYDBUS_SUPPORT" = "yes" || test "$SYSTEMD_JOURNAL_SUPPORT" = "yes" || test "$APP_MACHINEID_SUPPORT" = "yes"
-then :
-
-
-pkg_failed=no
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libsystemd" >&5
-printf %s "checking for libsystemd... " >&6; }
-
-if test -n "$LIBSYSTEMD_CFLAGS"; then
- pkg_cv_LIBSYSTEMD_CFLAGS="$LIBSYSTEMD_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
- if test -n "$PKG_CONFIG" && \
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd\""; } >&5
- ($PKG_CONFIG --exists --print-errors "libsystemd") 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- pkg_cv_LIBSYSTEMD_CFLAGS=`$PKG_CONFIG --cflags "libsystemd" 2>/dev/null`
- test "x$?" != "x0" && pkg_failed=yes
-else
- pkg_failed=yes
-fi
- else
- pkg_failed=untried
-fi
-if test -n "$LIBSYSTEMD_LIBS"; then
- pkg_cv_LIBSYSTEMD_LIBS="$LIBSYSTEMD_LIBS"
- elif test -n "$PKG_CONFIG"; then
- if test -n "$PKG_CONFIG" && \
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd\""; } >&5
- ($PKG_CONFIG --exists --print-errors "libsystemd") 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- pkg_cv_LIBSYSTEMD_LIBS=`$PKG_CONFIG --libs "libsystemd" 2>/dev/null`
- test "x$?" != "x0" && pkg_failed=yes
-else
- pkg_failed=yes
-fi
- else
- pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
- _pkg_short_errors_supported=yes
-else
- _pkg_short_errors_supported=no
-fi
- if test $_pkg_short_errors_supported = yes; then
- LIBSYSTEMD_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libsystemd" 2>&1`
- else
- LIBSYSTEMD_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libsystemd" 2>&1`
- fi
- # Put the nasty error message in config.log where it belongs
- echo "$LIBSYSTEMD_PKG_ERRORS" >&5
-
- as_fn_error $? "Package requirements (libsystemd) were not met:
-
-$LIBSYSTEMD_PKG_ERRORS
-
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-installed software in a non-standard prefix.
-
-Alternatively, you may set the environment variables LIBSYSTEMD_CFLAGS
-and LIBSYSTEMD_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details." "$LINENO" 5
-elif test $pkg_failed = untried; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
-printf "%s\n" "no" >&6; }
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
-
-Alternatively, you may set the environment variables LIBSYSTEMD_CFLAGS
-and LIBSYSTEMD_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-
-To get pkg-config, see <http://pkg-config.freedesktop.org/>.
-See \`config.log' for more details" "$LINENO" 5; }
-else
- LIBSYSTEMD_CFLAGS=$pkg_cv_LIBSYSTEMD_CFLAGS
- LIBSYSTEMD_LIBS=$pkg_cv_LIBSYSTEMD_LIBS
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-printf "%s\n" "yes" >&6; }
-
-fi
-
-fi
-
################################################################################
# Check whether --with-systemd-run was given.
@@ -13451,47 +13329,149 @@ printf "%s\n" "#define O_DIRECT_SUPPORT 1" >>confdefs.h
fi
################################################################################
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to compile liblvm2cmd.so" >&5
-printf %s "checking whether to compile liblvm2cmd.so... " >&6; }
-# Check whether --enable-cmdlib was given.
-if test ${enable_cmdlib+y}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to include Python D-Bus support" >&5
+printf %s "checking whether to include Python D-Bus support... " >&6; }
+# Check whether --enable-dbus-service was given.
+if test ${enable_dbus_service+y}
then :
- enableval=$enable_cmdlib; CMDLIB=$enableval
+ enableval=$enable_dbus_service; BUILD_LVMDBUSD=$enableval
else $as_nop
- CMDLIB="no"
+ BUILD_LVMDBUSD="no"
fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CMDLIB" >&5
-printf "%s\n" "$CMDLIB" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $BUILD_LVMDBUSD" >&5
+printf "%s\n" "$BUILD_LVMDBUSD" >&6; }
-if test "$CMDLIB" = "yes"
-then :
- if test "$SHARED_LINK" = "no"
+################################################################################
+# Check whether --enable-notify-dbus was given.
+if test ${enable_notify_dbus+y}
then :
- as_fn_error $? "--enable-cmdlib requires dynamic linking." "$LINENO" 5
+ enableval=$enable_notify_dbus; NOTIFYDBUS_SUPPORT=$enableval
fi
- LVM2CMD_LIB="-llvm2cmd"
+
+
+if test "$NOTIFYDBUS_SUPPORT" = "maybe"
+then :
+ if test "$BUILD_LVMDBUSD" = "yes"
+then :
+ NOTIFYDBUS_SUPPORT="yes"
else $as_nop
- LVM2CMD_LIB=
+ NOTIFYDBUS_SUPPORT="no"
+fi
fi
-################################################################################
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to include Python D-Bus support" >&5
-printf %s "checking whether to include Python D-Bus support... " >&6; }
-# Check whether --enable-dbus-service was given.
-if test ${enable_dbus_service+y}
+if test "$NOTIFYDBUS_SUPPORT" = "yes"
then :
- enableval=$enable_dbus_service; BUILD_LVMDBUSD=$enableval
-else $as_nop
- BUILD_LVMDBUSD="no"
+ if test "$SYSTEMD_MIN_VERSION" -lt 221
+then :
+ as_fn_error $? "--enable-notify-dbus requires systemd >= 221. (--with-systemd=$with_systemd)" "$LINENO" 5
fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $BUILD_LVMDBUSD" >&5
-printf "%s\n" "$BUILD_LVMDBUSD" >&6; }
-if test "$NOTIFYDBUS_SUPPORT" = "no" && test "$BUILD_LVMDBUSD" = "yes"
+printf "%s\n" "#define NOTIFYDBUS_SUPPORT 1" >>confdefs.h
+
+fi
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build notifydbus" >&5
+printf %s "checking whether to build notifydbus... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $NOTIFYDBUS_SUPPORT" >&5
+printf "%s\n" "$NOTIFYDBUS_SUPPORT" >&6; }
+
+################################################################################
+if test "$NOTIFYDBUS_SUPPORT" = "yes" || test "$SYSTEMD_JOURNAL_SUPPORT" = "yes" || test "$APP_MACHINEID_SUPPORT" = "yes"
then :
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Building D-Bus support without D-Bus notifications." >&5
-printf "%s\n" "$as_me: WARNING: Building D-Bus support without D-Bus notifications." >&2;}
+
+
+pkg_failed=no
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libsystemd" >&5
+printf %s "checking for libsystemd... " >&6; }
+
+if test -n "$LIBSYSTEMD_CFLAGS"; then
+ pkg_cv_LIBSYSTEMD_CFLAGS="$LIBSYSTEMD_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "libsystemd") 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_LIBSYSTEMD_CFLAGS=`$PKG_CONFIG --cflags "libsystemd" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+if test -n "$LIBSYSTEMD_LIBS"; then
+ pkg_cv_LIBSYSTEMD_LIBS="$LIBSYSTEMD_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "libsystemd") 2>&5
+ ac_status=$?
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_LIBSYSTEMD_LIBS=`$PKG_CONFIG --libs "libsystemd" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi
+ if test $_pkg_short_errors_supported = yes; then
+ LIBSYSTEMD_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libsystemd" 2>&1`
+ else
+ LIBSYSTEMD_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libsystemd" 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$LIBSYSTEMD_PKG_ERRORS" >&5
+
+ as_fn_error $? "Package requirements (libsystemd) were not met:
+
+$LIBSYSTEMD_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables LIBSYSTEMD_CFLAGS
+and LIBSYSTEMD_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details." "$LINENO" 5
+elif test $pkg_failed = untried; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables LIBSYSTEMD_CFLAGS
+and LIBSYSTEMD_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details" "$LINENO" 5; }
+else
+ LIBSYSTEMD_CFLAGS=$pkg_cv_LIBSYSTEMD_CFLAGS
+ LIBSYSTEMD_LIBS=$pkg_cv_LIBSYSTEMD_LIBS
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
+
+fi
+
fi
################################################################################
@@ -14166,25 +14146,53 @@ printf "%s\n" "$BUILD_DMEVENTD" >&6; }
if test "$BUILD_DMEVENTD" = "yes"
then :
- if test "$MIRRORS" != "internal"
+ if test "$MIRRORS" != "internal"
then :
+ as_fn_error $? "--enable-dmeventd currently requires --with-mirrors=internal" "$LINENO" 5
+fi
- as_fn_error $? "--enable-dmeventd currently requires --with-mirrors=internal" "$LINENO" 5
+printf "%s\n" "#define DMEVENTD 1" >>confdefs.h
fi
- if test "$CMDLIB" = "no"
+
+################################################################################
+# Check whether --enable-cmdlib was given.
+if test ${enable_cmdlib+y}
then :
+ enableval=$enable_cmdlib; CMDLIB=$enableval
+else $as_nop
+ CMDLIB="maybe"
+fi
- as_fn_error $? "--enable-dmeventd requires --enable-cmdlib to be used as well" "$LINENO" 5
+if test "$BUILD_DMEVENTD" = "yes"
+then :
+ if test "$CMDLIB" = "no"
+then :
+ as_fn_error $? "--enable-dmeventd requires --enable-cmdlib to be used as well" "$LINENO" 5
+else $as_nop
+ CMDLIB="yes"
+fi
fi
+if test "$CMDLIB" != "yes"
+then :
+ CMDLIB="no" LVM2CMD_LIB=
+else $as_nop
+ LVM2CMD_LIB="-llvm2cmd"
+fi
-printf "%s\n" "#define DMEVENTD 1" >>confdefs.h
-
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to compile liblvm2cmd.so" >&5
+printf %s "checking whether to compile liblvm2cmd.so... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CMDLIB" >&5
+printf "%s\n" "$CMDLIB" >&6; }
+if test "$CMDLIB" == "yes" && test "$SHARED_LINK" = "no"
+then :
+ as_fn_error $? "--enable-cmdlib requires dynamic linking." "$LINENO" 5
fi
+
################################################################################
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build dmfilemapd" >&5
printf %s "checking whether to build dmfilemapd... " >&6; }
@@ -14201,11 +14209,12 @@ printf "%s\n" "$BUILD_DMFILEMAPD" >&6; }
if test "$BUILD_DMFILEMAPD" = "yes"
then :
- ac_fn_c_check_header_compile "$LINENO" "linux/fiemap.h" "ac_cv_header_linux_fiemap_h" "as_fn_error $? "--enable-dmfilemapd requires fiemap.h" "$LINENO" 5
-"
+ ac_fn_c_check_header_compile "$LINENO" "linux/fiemap.h" "ac_cv_header_linux_fiemap_h" "$ac_includes_default"
if test "x$ac_cv_header_linux_fiemap_h" = xyes
then :
+else $as_nop
+ as_fn_error $? "--enable-dmfilemapd requires fiemap.h" "$LINENO" 5
fi
@@ -16278,6 +16287,7 @@ AIO_LIBS=${AIO_LIBS:--laio}
+
################################################################################
@@ -17666,3 +17676,9 @@ then :
printf "%s\n" "$as_me: WARNING: O_DIRECT disabled: low-memory pvmove may lock up" >&2;}
fi
+if test "$BUILD_LVMDBUSD" = "yes" && test "$NOTIFYDBUS_SUPPORT" = "no"
+then :
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Building D-Bus support without D-Bus notifications!" >&5
+printf "%s\n" "$as_me: WARNING: Building D-Bus support without D-Bus notifications!" >&2;}
+fi
+
=====================================
configure.ac
=====================================
@@ -1030,27 +1030,13 @@ AC_DEFINE_UNQUOTED(DEFAULT_USE_LVMPOLLD, [$DEFAULT_USE_LVMPOLLD],
SYSTEMD_MIN_VERSION=0
+NOTIFYDBUS_SUPPORT="no"
SYSTEMD_JOURNAL_SUPPORT="no"
APP_MACHINEID_SUPPORT="no"
-
AS_IF([test "$with_systemd" = "yes"],
- PKG_CHECK_EXISTS(systemd >= 221, [SYSTEMD_MIN_VERSION=221 SYSTEMD_JOURNAL_SUPPORT="maybe"])
+ PKG_CHECK_EXISTS(systemd >= 221, [SYSTEMD_MIN_VERSION=221 NOTIFYDBUS_SUPPORT="maybe" SYSTEMD_JOURNAL_SUPPORT="maybe"])
PKG_CHECK_EXISTS(systemd >= 234, [SYSTEMD_MIN_VERSION=234 APP_MACHINEID_SUPPORT="maybe"]))
-################################################################################
-dnl -- Build notifydbus
-AC_MSG_CHECKING([whether to build notifydbus])
-AC_ARG_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])
-
-AS_IF([test "$NOTIFYDBUS_SUPPORT" = "yes"],
- AS_IF([test "$SYSTEMD_MIN_VERSION" -lt 221],
- [AC_MSG_ERROR([--enable-notify-dbus requires systemd >= 221. (--with-systemd=$with_systemd)])])
- AC_DEFINE([NOTIFYDBUS_SUPPORT], 1, [Define to 1 to include code that uses dbus notification.]))
-
################################################################################
dnl -- Build with systemd journaling when the header file is present
AS_IF([test "$SYSTEMD_JOURNAL_SUPPORT" != "no"],
@@ -1083,11 +1069,6 @@ AC_MSG_RESULT([$APP_MACHINEID_SUPPORT])
AS_IF([test "$APP_MACHINEID_SUPPORT" = "yes"],
AC_DEFINE([APP_MACHINEID_SUPPORT], 1, [Define to 1 to include code that uses libsystemd machine-id apis.]))
-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(LIBSYSTEMD, [libsystemd])
-])
-
################################################################################
dnl -- Support override for systemd-run path if they need to (NixOS builds)
AC_ARG_WITH(systemd-run,
@@ -1225,19 +1206,6 @@ AS_IF([test "$ODIRECT" = "yes"], [
AC_DEFINE([O_DIRECT_SUPPORT], 1, [Define to 1 to enable O_DIRECT support.])
])
-################################################################################
-dnl -- Enable cmdlib
-AC_MSG_CHECKING([whether to compile liblvm2cmd.so])
-AC_ARG_ENABLE(cmdlib,
- AS_HELP_STRING([--enable-cmdlib], [build shared command library]),
- CMDLIB=$enableval, CMDLIB="no")
-AC_MSG_RESULT([$CMDLIB])
-AC_SUBST([LVM2CMD_LIB])
-AS_IF([test "$CMDLIB" = "yes"],
- [AS_IF([test "$SHARED_LINK" = "no"],
- [AC_MSG_ERROR([--enable-cmdlib requires dynamic linking.])])
- LVM2CMD_LIB="-llvm2cmd"], [LVM2CMD_LIB=])
-
################################################################################
dnl -- Enable D-Bus service
AC_MSG_CHECKING([whether to include Python D-Bus support])
@@ -1245,8 +1213,29 @@ 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" = "no" && test "$BUILD_LVMDBUSD" = "yes"],
- [AC_MSG_WARN([Building D-Bus support without D-Bus notifications.])])
+
+################################################################################
+dnl -- Build notifydbus
+AC_ARG_ENABLE(notify-dbus,
+ [AS_HELP_STRING([--enable-notify-dbus], [enable LVM notification using dbus])],
+ [NOTIFYDBUS_SUPPORT=$enableval])
+
+AS_IF([test "$NOTIFYDBUS_SUPPORT" = "maybe"],
+ [AS_IF([test "$BUILD_LVMDBUSD" = "yes"], [NOTIFYDBUS_SUPPORT="yes"], [NOTIFYDBUS_SUPPORT="no"])])
+
+AS_IF([test "$NOTIFYDBUS_SUPPORT" = "yes"],
+ [AS_IF([test "$SYSTEMD_MIN_VERSION" -lt 221],
+ [AC_MSG_ERROR([--enable-notify-dbus requires systemd >= 221. (--with-systemd=$with_systemd)])])
+ AC_DEFINE([NOTIFYDBUS_SUPPORT], 1, [Define to 1 to include code that uses dbus notification.])])
+
+AC_MSG_CHECKING([whether to build notifydbus])
+AC_MSG_RESULT([$NOTIFYDBUS_SUPPORT])
+
+################################################################################
+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(LIBSYSTEMD, [libsystemd])
+])
################################################################################
dnl -- Enable Python dbus library
@@ -1320,15 +1309,28 @@ AC_MSG_RESULT([$BUILD_DMEVENTD])
dnl -- dmeventd currently requires internal mirror support
AS_IF([test "$BUILD_DMEVENTD" = "yes"], [
- AS_IF([test "$MIRRORS" != "internal"], [
- AC_MSG_ERROR([--enable-dmeventd currently requires --with-mirrors=internal])
- ])
- AS_IF([test "$CMDLIB" = "no"], [
- AC_MSG_ERROR([--enable-dmeventd requires --enable-cmdlib to be used as well])
- ])
-
- AC_DEFINE([DMEVENTD], 1, [Define to 1 to enable the device-mapper event daemon.])
-])
+ AS_IF([test "$MIRRORS" != "internal"],
+ [AC_MSG_ERROR([--enable-dmeventd currently requires --with-mirrors=internal])])
+ AC_DEFINE([DMEVENTD], 1, [Define to 1 to enable the device-mapper event daemon.])])
+
+################################################################################
+dnl -- Enable cmdlib
+AC_ARG_ENABLE(cmdlib, [AS_HELP_STRING([--enable-cmdlib], [build shared command library])],
+ CMDLIB=$enableval, CMDLIB="maybe")
+
+AS_IF([test "$BUILD_DMEVENTD" = "yes"],
+ [AS_IF([test "$CMDLIB" = "no"],
+ [AC_MSG_ERROR([--enable-dmeventd requires --enable-cmdlib to be used as well])],
+ [CMDLIB="yes"])])
+
+AS_IF([test "$CMDLIB" != "yes"], [CMDLIB="no" LVM2CMD_LIB=], [LVM2CMD_LIB="-llvm2cmd"])
+
+AC_MSG_CHECKING([whether to compile liblvm2cmd.so])
+AC_MSG_RESULT([$CMDLIB])
+
+AS_IF([test "$CMDLIB" == "yes" && test "$SHARED_LINK" = "no"],
+ [AC_MSG_ERROR([--enable-cmdlib requires dynamic linking.])])
+
################################################################################
dnl -- Check dmfilemapd
@@ -1340,8 +1342,7 @@ AC_MSG_RESULT([$BUILD_DMFILEMAPD])
dnl -- dmfilemapd requires FIEMAP
AS_IF([test "$BUILD_DMFILEMAPD" = "yes"],
- [AC_CHECK_HEADER([linux/fiemap.h], [],
- ,[AC_MSG_ERROR(--enable-dmfilemapd requires fiemap.h)])
+ [AC_CHECK_HEADER([linux/fiemap.h], [], [AC_MSG_ERROR(--enable-dmfilemapd requires fiemap.h)])
AC_DEFINE([DMFILEMAPD], 1, [Define to 1 to enable the device-mapper filemap daemon.])])
################################################################################
@@ -1879,6 +1880,7 @@ AC_SUBST(LDDEPS)
AC_SUBST(LIBS)
AC_SUBST(LIB_SUFFIX)
AC_SUBST(localedir)
+AC_SUBST(LVM2CMD_LIB)
AC_SUBST(LVMIMPORTVDO)
AC_SUBST(LVMIMPORTVDO_PATH)
AC_SUBST(LVMLOCKD_PIDFILE)
@@ -2040,3 +2042,6 @@ AS_IF([test -n "$LVM_NEEDS_LIBAIO_WARN"],
AS_IF([test "$ODIRECT" != "yes"],
[AC_MSG_WARN([O_DIRECT disabled: low-memory pvmove may lock up])])
+
+AS_IF([test "$BUILD_LVMDBUSD" = "yes" && test "$NOTIFYDBUS_SUPPORT" = "no"],
+ [AC_MSG_WARN([Building D-Bus support without D-Bus notifications!])])
=====================================
lib/metadata/pool_manip.c
=====================================
@@ -440,7 +440,7 @@ int recalculate_pool_chunk_size_with_dev_hints(struct logical_volume *pool_lv,
}
dm_list_iterate_items(seg, &pool_data_lv->segments) {
- switch (seg_type(seg, 0)) {
+ switch (seg->area_count ? seg_type(seg, 0) : AREA_UNASSIGNED) {
case AREA_PV:
pv = seg_pv(seg, 0);
if (chunk_size_calc_policy == THIN_CHUNK_SIZE_CALC_METHOD_PERFORMANCE)
=====================================
libdm/.exported_symbols.DM_1_02_197
=====================================
@@ -0,0 +1 @@
+dm_task_run
=====================================
libdm/ioctl/libdm-iface.c
=====================================
@@ -2055,7 +2055,21 @@ int dm_task_get_errno(struct dm_task *dmt)
return dmt->ioctl_errno;
}
-int dm_task_run(struct dm_task *dmt)
+#if defined(GNU_SYMVER)
+/*
+ * Enforce new version 1_02_197 of dm_task_run() that propagates
+ * ioctl() errno is being linked to app.
+ */
+DM_EXPORT_SYMBOL_BASE(dm_task_run)
+int dm_task_run_base(struct dm_task *dmt);
+int dm_task_run_base(struct dm_task *dmt)
+{
+ return dm_task_run(dmt);
+}
+#endif
+
+DM_EXPORT_NEW_SYMBOL(int, dm_task_run, 1_02_197)
+ (struct dm_task *dmt)
{
struct dm_ioctl *dmi;
unsigned command;
=====================================
tools/lvconvert.c
=====================================
@@ -3071,7 +3071,7 @@ static int _lvconvert_to_pool(struct cmd_context *cmd,
struct logical_volume *data_lv; /* lv arg renamed */
struct logical_volume *pool_lv = NULL; /* new lv created here */
const char *pool_metadata_name; /* user-specified lv name */
- char converted_names[3*NAME_LEN]; /* preserve names of converted lv */
+ char converted_names[3*NAME_LEN] = { 0 }; /* preserve names of converted lv */
struct segment_type *pool_segtype; /* thinpool or cachepool */
const char *str_seg_type = to_cachepool ? SEG_TYPE_NAME_CACHE_POOL : SEG_TYPE_NAME_THIN_POOL;
struct lv_segment *seg;
View it on GitLab: https://gitlab.com/lvmteam/lvm2/-/compare/b16247539137964736c6274a80c603cc83c0faf3...43020cc474caa2242c337fb26f709eaf3bab81fe
--
View it on GitLab: https://gitlab.com/lvmteam/lvm2/-/compare/b16247539137964736c6274a80c603cc83c0faf3...43020cc474caa2242c337fb26f709eaf3bab81fe
You're receiving this email because of your account on gitlab.com.