From a6ad5d9ade738cfd727d5d39578b1e8a8fbed09b2a38a9d87b729d214d8b3ea2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Mon, 26 Aug 2024 18:06:29 +0200 Subject: [PATCH] Sync from SUSE:SLFO:Main multipath-tools revision 7df47955bd05493d503fb53dfbc32cc1 --- _service | 6 +- _servicedata | 2 +- libmpathpersist-example-old.c | 41 ------ modprobe_d-scsi_dh.conf | 10 ++ multipath-dracut.conf | 4 +- multipath-tools-0.9.6+71+suse.f07325e.obscpio | 3 - multipath-tools-0.9.8+88+suse.d504d83.obscpio | 3 + multipath-tools.changes | 121 ++++++++++++++++++ multipath-tools.obsinfo | 6 +- multipath-tools.spec | 37 +++--- multipath.conf | 5 - 11 files changed, 163 insertions(+), 75 deletions(-) delete mode 100644 libmpathpersist-example-old.c create mode 100644 modprobe_d-scsi_dh.conf delete mode 100644 multipath-tools-0.9.6+71+suse.f07325e.obscpio create mode 100644 multipath-tools-0.9.8+88+suse.d504d83.obscpio delete mode 100644 multipath.conf diff --git a/_service b/_service index d912a05..35ccf01 100644 --- a/_service +++ b/_service @@ -5,8 +5,10 @@ https://github.com/openSUSE/multipath-tools.git multipath-tools @PARENT_TAG@+@TAG_OFFSET@+suse.%h - factory - 0.[0-9].[0-9] + sles15-sp6 + 0.[0-9].[0-9]* + [-]pre\.([0-9]) + ~\1 enable diff --git a/_servicedata b/_servicedata index d8304a5..961dae0 100644 --- a/_servicedata +++ b/_servicedata @@ -1,4 +1,4 @@ https://github.com/openSUSE/multipath-tools.git - f07325e85d5d9444ac4c816f75d2ce67af52af93 \ No newline at end of file + d504d833c678c52886e7762254658896ce6a8e7b \ No newline at end of file diff --git a/libmpathpersist-example-old.c b/libmpathpersist-example-old.c deleted file mode 100644 index 19968e4..0000000 --- a/libmpathpersist-example-old.c +++ /dev/null @@ -1,41 +0,0 @@ -/* - * This is a minimal skeleton for code using libmpathpersist. - * Compile with "-lmpathpersist -lmultipath -ludev". - * - * Header files for libmultipath are intentionally not included - * in the multipath-tools-devel package, because libmultipath has - * no well defined API for external programs at this time. - */ - -#include -#include - -struct udev *udev; -/* - * logsink determines where libmultipath log messages go - * 1 - log to syslog only - * -1 - log to syslog and stderr - * 0 - log to syslog and stderr, with timestamps - */ -int logsink; - -static struct config *conf; - -struct config *get_multipath_config(void) { - return conf; -} - -void put_multipath_config(struct config* c) -{ -} - -int main(void) -{ - udev = udev_new(); - conf = mpath_lib_init(); - if(!conf) { - udev_unref(udev); - return 1; - } - return 0; -} diff --git a/modprobe_d-scsi_dh.conf b/modprobe_d-scsi_dh.conf new file mode 100644 index 0000000..ca779e4 --- /dev/null +++ b/modprobe_d-scsi_dh.conf @@ -0,0 +1,10 @@ +# Make sure scsi device handlers are loaded before any SCSI host adapter +# drivers. This requires loading sd_mod before host adapters, which +# is ensured by the scsi_mod softdep below. +softdep sd_mod pre: scsi_dh_alua scsi_dh_rdac scsi_dh_emc + +# Note that there can be only one softdep per module, and earlier +# directives take precedence. 10-scsi.conf is shipped by suse-module-tools +# in some SUSE releases; it will override the scsi_mod softdep below. +# (but it will also make sure that sd_mod is loaded early). +softdep scsi_mod post: sd_mod diff --git a/multipath-dracut.conf b/multipath-dracut.conf index df5d7ea..f73581e 100644 --- a/multipath-dracut.conf +++ b/multipath-dracut.conf @@ -1,2 +1,2 @@ -# Make sure the tmpfiles entry exists in initramfs already -install_items+=" @TMPFILESDIR@/multipath.conf " +# Make sure the tmpfiles entry and rules files exist in initramfs already +install_items+=" @TMPFILESDIR@/multipath.conf @UDEVRULESDIR@/99-z-dm-mpath-late.rules " diff --git a/multipath-tools-0.9.6+71+suse.f07325e.obscpio b/multipath-tools-0.9.6+71+suse.f07325e.obscpio deleted file mode 100644 index 96c8143..0000000 --- a/multipath-tools-0.9.6+71+suse.f07325e.obscpio +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:29b31f59ce21e3dc530d9ae44ffbeac787c486ffc2ffa8f40aebda8a738c47f2 -size 2795532 diff --git a/multipath-tools-0.9.8+88+suse.d504d83.obscpio b/multipath-tools-0.9.8+88+suse.d504d83.obscpio new file mode 100644 index 0000000..8d2d75c --- /dev/null +++ b/multipath-tools-0.9.8+88+suse.d504d83.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a131d06f66d9a6080b41a29389578763e6af3ecb0518e7e468e1ea76dbec4c78 +size 2868236 diff --git a/multipath-tools.changes b/multipath-tools.changes index a1e1b87..58bee68 100644 --- a/multipath-tools.changes +++ b/multipath-tools.changes @@ -1,3 +1,123 @@ +------------------------------------------------------------------- +Thu Apr 11 15:22:02 UTC 2024 - Martin Wilck + +- Update to version 0.9.8+88+suse.d504d83: + * Revert "libmultipath: fix max_sectors_kb on adding path" + (bsc#1222458) + +------------------------------------------------------------------- +Tue Mar 5 20:19:12 UTC 2024 - Martin Wilck + +- Update to version 0.9.8+87+suse.f72b9f3: + * fix misspelled DM_UDEV_DISABLE_OTHER_RULES_FLAG in udev rules + (bsc#1220810) + +------------------------------------------------------------------- +Tue Feb 27 10:12:35 UTC 2024 - Martin Wilck + +- Remove libmpathpersist-example-old.c, which has been obsolete + since multipath-tools 0.8.6. + +------------------------------------------------------------------- +Mon Feb 26 11:57:03 UTC 2024 - Martin Wilck + +- Update to version 0.9.8+83+suse.bcae610 (bsc#1220374) + * multipath-tools: added NEWS.md + +------------------------------------------------------------------- +Thu Feb 15 11:00:59 UTC 2024 - Martin Wilck + +- Update to version 0.9.8~1+82+suse.dcd98a3: + * Adapt package version such that it shows as a 0.9.8 prerelease + * Add missing udev rules file + +------------------------------------------------------------------- +Wed Feb 14 20:52:13 UTC 2024 - Martin Wilck + +- Update to version 0.9.7+148+suse.9780ae0: + * 11-dm-mpath.rules: Fix quoting mistake (bsc#1219142) + +------------------------------------------------------------------- +Mon Feb 12 15:33:58 UTC 2024 - Martin Wilck + +- Update to version 0.9.7+148+suse.7d9953e.obscpio + * This is a multipath-tools 0.9.8 pre-release + * fix fast_io_fail for Infinibox (bsc#1219348) + * Fix activation of LVM volume groups during coldplug (bsc#1219142) + +------------------------------------------------------------------- +Mon Feb 12 15:09:47 UTC 2024 - Martin Wilck + +- Update to version 0.9.7+140+suse.2d78457: + * This is a multipath-tools 0.9.8 pre-release + * Socket activation via multipathd.socket has been disabled by default + because it has undesirable side effects on systems without multipath. + Users with multipath hardware should enable multipathd.service + * The restorequeueing CLI command now only enables queueing if + disablequeueing had been sent before + * Avoid multipathd hang during map flush + * multipathd now tracks the queueing mode of maps in its internal features string + * Improve error messages in 'multipathd -k' + * Fix segfault in autoresize code (bsc#1219289) + * Fix missing map reloads (bsc#1219796) + * Documentation fixes, spelling fixes, minor code fixes + +------------------------------------------------------------------- +Fri Jan 5 14:32:11 UTC 2024 - Martin Wilck + +- Update to version 0.9.7+93+suse.e2f2272: + * fix ANA prioritizer enablement logic (bsc#1218326) + * avoid setting queue_if_no_path on multipath maps for which the + no_path_retry timeout has expired + * the interactive commands "restorequeueing map X" and + "restorequeing maps" now only affect maps that had queueing + manually disabled using "disablequeuing maps" or + "disablequeuing map X" beforehand + * Spelling fixes + +------------------------------------------------------------------- +Tue Nov 21 20:46:40 UTC 2023 - Martin Wilck + +- Update to version 0.9.7+76+suse.5f857af: + * Update to upstream 0.9.7 (jsc#PED-6464) + * added max_retries config option to limit SCSI retries + * added auto_resize config option to enable resizing multipath maps automatically + * fixed memory and error handling for code using aio (marginal path code, + directio path checker) + * dropped modules-load.d/multipath.conf; replaced by a dependency on + modprobe@dm-multipath.service (systemd >= 245: SLE15-SP3 and later only) + and a softdep on sd_mod for the SCSI device handlers + (bsc#1217377) + * On SLE/Leap suse-module-tools doesn't ship a scsi_mod->sd_mod softdep yet. + Add it here, too. It will be overridden by s-m-t when it's added there. + * drop usr_prefix= setting in SLE build recipes (set to /usr by upstream + automatically) + +------------------------------------------------------------------- +Wed Oct 25 10:46:30 UTC 2023 - Martin Wilck + +- Update to version 0.9.6+115+suse.07776fb + * multipathd: Added support to handle FPIN-Li events for FC-NVMe + +------------------------------------------------------------------- +Fri Sep 15 12:36:30 UTC 2023 - Martin Wilck + +- Update to version 0.9.6+110+suse.5dfdf35: + * The options "bindings_file", "prkeys_file", and "wwids_file", + which have been deprecated since multipath-tools 0.8.8, + aren't supported any more. The paths to these files are now + hard-coded to "bindings", "prkeys" and "wwids" under + /etc/multipath. + * Strictly avoid assigning map aliases that are already taken + (bsc#1213265) + * Improve handling of user-friendly names + * avoid "multipath -d" (dry-run) changing SCSI timeouts in sysfs + (bsc#1213809) +- spec file: + * adapt prefix values to upstream changes + * fix compilation flags for "make check" + * pass EXTRAVERSION to build + ------------------------------------------------------------------- Tue Sep 12 06:48:40 UTC 2023 - Martin Wilck @@ -16,6 +136,7 @@ Wed Sep 6 13:51:42 UTC 2023 - Martin Wilck - Update to version 0.9.6+70+suse.63925e8: Upstream feature additions and bug fixes: * ignore nvme devices by default if nvme native multipath is enabled + (bsc#1212854) * add "group_by_tpg" path_grouping_policy * add config options "detect_pgpolicy" and "detect_pgpolicy_use_tpg" * libmultipath: add ALUA tpg path wildcard "%A" diff --git a/multipath-tools.obsinfo b/multipath-tools.obsinfo index dfe78f3..fd53083 100644 --- a/multipath-tools.obsinfo +++ b/multipath-tools.obsinfo @@ -1,4 +1,4 @@ name: multipath-tools -version: 0.9.6+71+suse.f07325e -mtime: 1694069633 -commit: f07325e85d5d9444ac4c816f75d2ce67af52af93 +version: 0.9.8+88+suse.d504d83 +mtime: 1712848814 +commit: d504d833c678c52886e7762254658896ce6a8e7b diff --git a/multipath-tools.spec b/multipath-tools.spec index 8eff2ec..fbcd210 100644 --- a/multipath-tools.spec +++ b/multipath-tools.spec @@ -19,10 +19,10 @@ %global _lto_cflags %{nil} %global _make_output_sync -Orecurse -# multipath-tools auto-detects support for -D_FORTFY_SOURCE. +# multipath-tools auto-detects support for -D_FORTIFY_SOURCE. # This will lead to a compilation error if the distro overrides -# -D_FORTIFY_SOURCE in optflags, unless we precede it with -U -%global mp_optflags %(echo %{optflags} | sed 's/-D_FORTIFY_SOURCE=[0-9]/-U_FORTIFY_SOURCE &/') +# -D_FORTIFY_SOURCE in optflags, unless it's preceded with -U_FORTIFY_SOURCE +%global mp_optflags %(echo %{optflags} | sed '/-U_FORTIFY_SOURCE/!s/-D_FORTIFY_SOURCE=[0-9]/-U_FORTIFY_SOURCE &/') # Whether to build libdmmp - default YES %bcond_without libdmmp @@ -35,20 +35,20 @@ %define libdmmp_version %(echo %{_libdmmp_version} | tr . _) Name: multipath-tools -Version: 0.9.6+71+suse.f07325e +Version: 0.9.8+88+suse.d504d83 Release: 0 Summary: Tools to Manage Multipathed Devices with the device-mapper License: GPL-2.0-only AND GPL-3.0-or-later Group: System/Base URL: http://christophe.varoqui.free.fr/ Source: multipath-tools-%{version}.tar -Source1: multipath.conf +# modprobe.d configuration file +Source1: modprobe_d-scsi_dh.conf # SUSE policy: disable partition deletion by default Source2: dont-del-part-nodes.rules # Dracut conf file to make sure 11-dm-parts.rules is included in initrd Source3: dm-parts.conf Source4: libmpathpersist-example.c -Source5: libmpathpersist-example-old.c Source6: multipath-dracut.conf BuildRoot: %{_tmppath}/%{name}-%{version}-build %{?systemd_requires} @@ -87,9 +87,6 @@ monitors path devices for failure, removal, or addition, and applies the necessary changes to the multipath maps to ensure continuous availability of the map devices. - - - # Currently, it makes no sense to split out libmpathpersist and libmpathcmd # separately. libmultipath has no stable API at all, and it depends # on libmpathcmd (to be fixed). libmpathpersist depends on libmultipath @@ -149,21 +146,22 @@ Requires: libdmmp%{libdmmp_version} = %{version} %description -n libdmmp-devel This package provides development files and documentation for libdmmp. -%define makeflags %{!?with_libdmmp:ENABLE_LIBDMMP=0} +%global extraversion %(echo %{version} | sed 's/^[^+]*//') +%define makeflags EXTRAVERSION="%{extraversion}" %{!?with_libdmmp:ENABLE_LIBDMMP=0} %if 0%{?suse_version} < 1550 -%define dirflags LIB=%{_lib} usr_prefix=%{_prefix} systemd_prefix=%{_prefix} +%define dirflags LIB=%{_lib} %define sbindir /sbin %define libdir /%{_lib} %else -%define dirflags LIB=%{_lib} prefix=%{_prefix} configdir=%{_sysconfdir}/multipath/conf.d +%define dirflags LIB=%{_lib} prefix=%{_prefix} etc_prefix= %define sbindir %{_sbindir} %define libdir %{_libdir} %endif + %prep %setup -q -n multipath-tools-%{version} cp %{SOURCE4} . -cp %{SOURCE5} . %autopatch -p1 %build @@ -172,7 +170,7 @@ cp %{SOURCE5} . %if 0%{?with_check} == 1 %check -%{make_build} OPTFLAGS="%{mp_optflags}" V=1 test +%{make_build} OPTFLAGS="%{mp_optflags}" %{dirflags} %{makeflags} V=1 test %endif %install @@ -187,12 +185,11 @@ for x in mpathutil multipath mpathpersist mpathcmd mpathvalid; do done %endif ln -sf service %{buildroot}/usr/sbin/rcmultipathd -mkdir -p %{buildroot}/usr/lib/modules-load.d -install -m 644 -D %{SOURCE1} "%{buildroot}/usr/lib/modules-load.d/multipath.conf" +install -m 644 -D %{SOURCE1} %{buildroot}/usr/lib/modprobe.d/90-scsi_dh.conf install -m 644 %{SOURCE2} %{buildroot}%{_udevrulesdir}/00-dont-del-part-nodes.rules install -m 644 -D %{SOURCE3} %{buildroot}/usr/lib/dracut/dracut.conf.d/dm-parts.conf install -m 644 -D %{SOURCE6} %{buildroot}/usr/lib/dracut/dracut.conf.d/multipath.conf -sed -i 's,@TMPFILESDIR@,%{_tmpfilesdir},' %{buildroot}/usr/lib/dracut/dracut.conf.d/multipath.conf +sed -i 's,@TMPFILESDIR@,%{_tmpfilesdir},;s,@UDEVRULESDIR@,%{_udevrulesdir},' %{buildroot}/usr/lib/dracut/dracut.conf.d/multipath.conf %post -n libmpath0 -p %{run_ldconfig} %postun -n libmpath0 -p %{run_ldconfig} @@ -224,10 +221,12 @@ exit 0 %files %doc README.md +%doc NEWS.md %license LICENSES/GPL-2.0 %license LICENSES/GPL-3.0 %{_udevrulesdir}/11-dm-mpath.rules %{_udevrulesdir}/56-multipath.rules +%{_udevrulesdir}/99-z-dm-mpath-late.rules %{sbindir}/multipath %{sbindir}/multipathd %{sbindir}/multipathc @@ -235,11 +234,14 @@ exit 0 /usr/sbin/rcmultipathd %{_unitdir}/multipathd.service %{_unitdir}/multipathd.socket +%if 0%{?suse_version} < 1550 && 0%{?sle_version} < 150300 %dir /usr/lib/modules-load.d /usr/lib/modules-load.d/multipath.conf +%endif %dir /usr/lib/dracut %dir /usr/lib/dracut/dracut.conf.d /usr/lib/dracut/dracut.conf.d/multipath.conf +/usr/lib/modprobe.d/90-scsi_dh.conf %{_tmpfilesdir}/multipath.conf %{_mandir}/man8/multipath.8* %{_mandir}/man5/multipath.conf.5* @@ -271,7 +273,6 @@ exit 0 /usr/include/mpath_valid.h %{_mandir}/man3/mpath_persistent_* %doc libmpathpersist-example.c -%doc libmpathpersist-example-old.c %files -n kpartx %license LICENSES/GPL-2.0 diff --git a/multipath.conf b/multipath.conf deleted file mode 100644 index 37e9e78..0000000 --- a/multipath.conf +++ /dev/null @@ -1,5 +0,0 @@ -# Load device-handler and multipath module at boot -scsi_dh_alua -scsi_dh_emc -scsi_dh_rdac -dm-multipath