From 676ef7d8831c0db33ae14c8cb9306912f5b82eb6 Mon Sep 17 00:00:00 2001 From: Wang Mingyu Date: Wed, 26 Feb 2025 07:24:11 +0800 Subject: multipath-tools: upgrade 0.11.0 -> 0.11.1 Changelog: =========== * Fix multipathd crash because of invalid path group index value, for example if an invalid path device was removed from a map. * Make sure maps are reloaded in the path checker loop after detecting an inconsistent or wrong kernel state (e.g. missing or falsely mapped path device). Wrongly mapped paths will be unmapped and released to the system. * Fix the problem that 'group_by_tpg' might be disabled if one or more paths were offline during initial configuration. * Fix possible misdetection of changed pathgroups in a map. * Fix the problem that if a map was scheduled to be reloaded already, 'max_sectors_kb' might not be set on a path device that was being added to a multipath map. This problem was introduced in 0.9.9. Signed-off-by: Wang Mingyu Signed-off-by: Khem Raj --- .../multipath-tools/multipath-tools_0.11.0.bb | 126 --------------------- .../multipath-tools/multipath-tools_0.11.1.bb | 126 +++++++++++++++++++++ 2 files changed, 126 insertions(+), 126 deletions(-) delete mode 100644 meta-oe/recipes-support/multipath-tools/multipath-tools_0.11.0.bb create mode 100644 meta-oe/recipes-support/multipath-tools/multipath-tools_0.11.1.bb (limited to 'meta-oe') diff --git a/meta-oe/recipes-support/multipath-tools/multipath-tools_0.11.0.bb b/meta-oe/recipes-support/multipath-tools/multipath-tools_0.11.0.bb deleted file mode 100644 index 67e293dac2..0000000000 --- a/meta-oe/recipes-support/multipath-tools/multipath-tools_0.11.0.bb +++ /dev/null @@ -1,126 +0,0 @@ -SUMMARY = "The upstream project used to drive the Device Mapper multipathing driver" - -DESCRIPTION = "It provides tools to manage multipath devices \ -by instructing the device-mapper kernel module what to do. These \ -tools include: \ -1. multipath - Scan the system for multipath devices and assemble them.\ -2. multipathd - Detects when paths fail and execs multipath to update \ -things.\ -3. mpathpersist - Persistent reservation management feature allows \ -cluster management software to manage persistent reservation through \ -mpath device. It processes management requests from callers and hides \ -the management task details. It also handles persistent reservation \ -management of data path life cycle and state changes.\ -4. kpartx - This tool, derived from util-linux's partx, reads partition \ -tables on specified device and create device maps over partitions \ -segments detected. It is called from hotplug upon device maps creation \ -and deletion" - -HOMEPAGE = "http://christophe.varoqui.free.fr/" - -DEPENDS = "libdevmapper \ - lvm2 \ - libaio \ - liburcu \ - readline \ - udev \ - json-c \ - " - -LICENSE = "GPL-2.0-only" - -SRC_URI = "git://github.com/opensvc/multipath-tools.git;protocol=https;branch=master \ - file://multipathd.oe \ - file://multipath.conf.example \ - file://0001-RH-fixup-udev-rules-for-redhat.patch \ - file://0002-RH-Remove-the-property-blacklist-exception-builtin.patch \ - file://0003-RH-don-t-start-without-a-config-file.patch \ - file://0004-RH-use-rpm-optflags-if-present.patch \ - file://0005-RH-add-mpathconf.patch \ - file://0006-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch \ - file://0007-RH-warn-on-invalid-regex-instead-of-failing.patch \ - file://0008-RH-reset-default-find_mutipaths-value-to-off.patch \ - file://0009-multipath-tools-modify-create-config.mk-for-cross-co.patch \ - file://0010-Always-use-devmapper.patch \ - file://0011-fix-bug-of-do_compile-and-do_install.patch \ - file://0012-add-explicit-dependency-on-libraries.patch \ - file://0001-libmpathutils-uxsock.c-Include-string.h-for-memcpy.patch \ - " - -LIC_FILES_CHKSUM = "file://COPYING;md5=9ec28527f3d544b51ceb0e1907d0bf3f" - -SRCREV = "de16cf82c5263fc148118be56ebf44c8f0ee60b8" - -S = "${WORKDIR}/git" - -inherit systemd pkgconfig - -SYSTEMD_SERVICE:${PN} = "multipathd.service" -SYSTEMD_AUTO_ENABLE = "disable" - -TARGET_CC_ARCH += "${LDFLAGS}" - -# multipath-tools includes a copy of the valgrind.h header -# file and uses the macros to suppress some false positives. However, -# that only works on ARM when thumb is disabled. Otherwise one gets: -# Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r12,r12,ror#3' -# ../Makefile.inc:66: recipe for target 'debug.o' failed -ARM_INSTRUCTION_SET:armv4 = "arm" -ARM_INSTRUCTION_SET:armv5 = "arm" - -# The exact version of SYSTEMD does not matter but should be greater than 209. -# -EXTRA_OEMAKE = 'MULTIPATH_VERSION=${PV} DESTDIR=${D} syslibdir=${base_libdir} \ - OPTFLAGS="${CFLAGS}" \ - prefix=${prefix} \ - etc_prefix=${sysconfdir} \ - bindir=${base_sbindir} \ - LIB=${base_libdir} libdir=${base_libdir}/multipath \ - usrlibdir=${libdir} \ - plugindir=${base_libdir}/multipath \ - unitdir=${systemd_system_unitdir} \ - libudevdir=${nonarch_base_libdir}/udev \ - modulesloaddir=${sysconfdir}/modules-load.d \ - tmpfilesdir=${sysconfdir}/tmpfiles.d \ - ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "SYSTEMD=216", "", d)} \ - ' - -do_install() { - oe_runmake install - - # We copy an initscript, but do not start multipathd at init time. - # - if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)};then - install -d ${D}${sysconfdir}/init.d - cp ${UNPACKDIR}/multipathd.oe ${D}${sysconfdir}/init.d/multipathd - fi - - sed -i "s:/usr/lib/udev/kpartx_id:${nonarch_base_libdir}/udev/kpartx_id:g" \ - ${D}${nonarch_base_libdir}/udev/rules.d/11-dm-mpath.rules - - install -d ${D}${sysconfdir} - install -m 0644 ${UNPACKDIR}/multipath.conf.example \ - ${D}${sysconfdir}/multipath.conf.example -} - -FILES:${PN} += "${systemd_system_unitdir}" -FILES:${PN}-dbg += "${base_libdir}/multipath/.debug" - -PACKAGES =+ "${PN}-libs" -FILES:${PN}-libs = "${base_libdir}/lib*.so.* \ - ${base_libdir}/multipath/lib*.so*" -RDEPENDS:${PN} += "${PN}-libs bash libgcc" - -PROVIDES += "device-mapper-multipath" -RPROVIDES:${PN} += "device-mapper-multipath" -RPROVIDES:${PN}-libs += "device-mapper-multipath-libs" - -FILES:${PN}-dev += "${base_libdir}/pkgconfig" - -PACKAGES =+ "kpartx" -FILES:kpartx = "${base_sbindir}/kpartx \ - ${nonarch_base_libdir}/udev/kpartx_id \ - " - -RDEPENDS:${PN} += "kpartx" -PARALLEL_MAKE = "" diff --git a/meta-oe/recipes-support/multipath-tools/multipath-tools_0.11.1.bb b/meta-oe/recipes-support/multipath-tools/multipath-tools_0.11.1.bb new file mode 100644 index 0000000000..3037d0da8d --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/multipath-tools_0.11.1.bb @@ -0,0 +1,126 @@ +SUMMARY = "The upstream project used to drive the Device Mapper multipathing driver" + +DESCRIPTION = "It provides tools to manage multipath devices \ +by instructing the device-mapper kernel module what to do. These \ +tools include: \ +1. multipath - Scan the system for multipath devices and assemble them.\ +2. multipathd - Detects when paths fail and execs multipath to update \ +things.\ +3. mpathpersist - Persistent reservation management feature allows \ +cluster management software to manage persistent reservation through \ +mpath device. It processes management requests from callers and hides \ +the management task details. It also handles persistent reservation \ +management of data path life cycle and state changes.\ +4. kpartx - This tool, derived from util-linux's partx, reads partition \ +tables on specified device and create device maps over partitions \ +segments detected. It is called from hotplug upon device maps creation \ +and deletion" + +HOMEPAGE = "http://christophe.varoqui.free.fr/" + +DEPENDS = "libdevmapper \ + lvm2 \ + libaio \ + liburcu \ + readline \ + udev \ + json-c \ + " + +LICENSE = "GPL-2.0-only" + +SRC_URI = "git://github.com/opensvc/multipath-tools.git;protocol=https;branch=stable-0.11.y \ + file://multipathd.oe \ + file://multipath.conf.example \ + file://0001-RH-fixup-udev-rules-for-redhat.patch \ + file://0002-RH-Remove-the-property-blacklist-exception-builtin.patch \ + file://0003-RH-don-t-start-without-a-config-file.patch \ + file://0004-RH-use-rpm-optflags-if-present.patch \ + file://0005-RH-add-mpathconf.patch \ + file://0006-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch \ + file://0007-RH-warn-on-invalid-regex-instead-of-failing.patch \ + file://0008-RH-reset-default-find_mutipaths-value-to-off.patch \ + file://0009-multipath-tools-modify-create-config.mk-for-cross-co.patch \ + file://0010-Always-use-devmapper.patch \ + file://0011-fix-bug-of-do_compile-and-do_install.patch \ + file://0012-add-explicit-dependency-on-libraries.patch \ + file://0001-libmpathutils-uxsock.c-Include-string.h-for-memcpy.patch \ + " + +LIC_FILES_CHKSUM = "file://COPYING;md5=9ec28527f3d544b51ceb0e1907d0bf3f" + +SRCREV = "cb8de98b2cc3b62fd1a578ba479c0820778e9c02" + +S = "${WORKDIR}/git" + +inherit systemd pkgconfig + +SYSTEMD_SERVICE:${PN} = "multipathd.service" +SYSTEMD_AUTO_ENABLE = "disable" + +TARGET_CC_ARCH += "${LDFLAGS}" + +# multipath-tools includes a copy of the valgrind.h header +# file and uses the macros to suppress some false positives. However, +# that only works on ARM when thumb is disabled. Otherwise one gets: +# Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r12,r12,ror#3' +# ../Makefile.inc:66: recipe for target 'debug.o' failed +ARM_INSTRUCTION_SET:armv4 = "arm" +ARM_INSTRUCTION_SET:armv5 = "arm" + +# The exact version of SYSTEMD does not matter but should be greater than 209. +# +EXTRA_OEMAKE = 'MULTIPATH_VERSION=${PV} DESTDIR=${D} syslibdir=${base_libdir} \ + OPTFLAGS="${CFLAGS}" \ + prefix=${prefix} \ + etc_prefix=${sysconfdir} \ + bindir=${base_sbindir} \ + LIB=${base_libdir} libdir=${base_libdir}/multipath \ + usrlibdir=${libdir} \ + plugindir=${base_libdir}/multipath \ + unitdir=${systemd_system_unitdir} \ + libudevdir=${nonarch_base_libdir}/udev \ + modulesloaddir=${sysconfdir}/modules-load.d \ + tmpfilesdir=${sysconfdir}/tmpfiles.d \ + ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "SYSTEMD=216", "", d)} \ + ' + +do_install() { + oe_runmake install + + # We copy an initscript, but do not start multipathd at init time. + # + if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)};then + install -d ${D}${sysconfdir}/init.d + cp ${UNPACKDIR}/multipathd.oe ${D}${sysconfdir}/init.d/multipathd + fi + + sed -i "s:/usr/lib/udev/kpartx_id:${nonarch_base_libdir}/udev/kpartx_id:g" \ + ${D}${nonarch_base_libdir}/udev/rules.d/11-dm-mpath.rules + + install -d ${D}${sysconfdir} + install -m 0644 ${UNPACKDIR}/multipath.conf.example \ + ${D}${sysconfdir}/multipath.conf.example +} + +FILES:${PN} += "${systemd_system_unitdir}" +FILES:${PN}-dbg += "${base_libdir}/multipath/.debug" + +PACKAGES =+ "${PN}-libs" +FILES:${PN}-libs = "${base_libdir}/lib*.so.* \ + ${base_libdir}/multipath/lib*.so*" +RDEPENDS:${PN} += "${PN}-libs bash libgcc" + +PROVIDES += "device-mapper-multipath" +RPROVIDES:${PN} += "device-mapper-multipath" +RPROVIDES:${PN}-libs += "device-mapper-multipath-libs" + +FILES:${PN}-dev += "${base_libdir}/pkgconfig" + +PACKAGES =+ "kpartx" +FILES:kpartx = "${base_sbindir}/kpartx \ + ${nonarch_base_libdir}/udev/kpartx_id \ + " + +RDEPENDS:${PN} += "kpartx" +PARALLEL_MAKE = "" -- cgit v1.2.3-54-g00ecf