commit 33acc2613feb3b98cce08477356bbb20f9d1fc4e Author: zyppe <210hcl@gmail.com> Date: Fri Feb 9 17:52:00 2024 +0800 Initialize for multipath-tools diff --git a/dm-parts.conf b/dm-parts.conf new file mode 100644 index 0000000..a6223f3 --- /dev/null +++ b/dm-parts.conf @@ -0,0 +1,3 @@ +# This file has recently been added to kpartx. +# Not all dracut versions know about it. +install_items+=" /usr/lib/udev/rules.d/11-dm-parts.rules " diff --git a/dont-del-part-nodes.rules b/dont-del-part-nodes.rules new file mode 100644 index 0000000..08e9057 --- /dev/null +++ b/dont-del-part-nodes.rules @@ -0,0 +1,13 @@ +# This system's udev rules support deletion of partition device nodes +# for disks which are members of multipath devices. That is useful +# to avoid using the member device partitions accidentally. +# +# See also 68-del-part-nodes.rules. +# +# On SUSE distributions, this feature is disabled by default, for +# backwards compatibility reasons, by means of this rule file. +# In order to enable the feature, copy this file to /etc/udev/rules.d +# and comment out the lines below. + +SUBSYSTEM=="block", KERNEL=="sd*|dasd*|rbd*", ACTION=="add|change", \ + ENV{DONT_DEL_PART_NODES}="1" diff --git a/libmpathpersist-example-old.c b/libmpathpersist-example-old.c new file mode 100644 index 0000000..6a55628 --- /dev/null +++ b/libmpathpersist-example-old.c @@ -0,0 +1,41 @@ +/* + * 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/libmpathpersist-example.c b/libmpathpersist-example.c new file mode 100644 index 0000000..6b7f936 --- /dev/null +++ b/libmpathpersist-example.c @@ -0,0 +1,26 @@ +/* + * This is a minimal skeleton for code using libmpathpersist. + * Compile with "-lmpathpersist -lmultipath -lmpathcmd". + * + * 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. + * + * With multipath-tools 0.8.6, the sample program can be drastically + * simplified, see below. Compare with libmpathpersist-example-old.c + * for 0.8.5 and older. Note that the old code can still be used. + */ + +#include +#include + +struct config *conf; + +int main(void) +{ + conf = mpath_lib_init(); + if(!conf) { + return 1; + } + return 0; +} diff --git a/multipath-dracut.conf b/multipath-dracut.conf new file mode 100644 index 0000000..e9184d4 --- /dev/null +++ b/multipath-dracut.conf @@ -0,0 +1,2 @@ +# Make sure the tmpfiles entry exists in initramfs already +install_items+=" @TMPFILESDIR@/multipath.conf " diff --git a/multipath-tools-0.9.4+71+suse.c648a77.tar b/multipath-tools-0.9.4+71+suse.c648a77.tar new file mode 100644 index 0000000..85befd1 Binary files /dev/null and b/multipath-tools-0.9.4+71+suse.c648a77.tar differ diff --git a/multipath-tools.changes b/multipath-tools.changes new file mode 100644 index 0000000..5398c78 --- /dev/null +++ b/multipath-tools.changes @@ -0,0 +1,2296 @@ +* Wed Mar 22 2023 mwilck@suse.com +- Update to version 0.9.4+71+suse.c648a77: + * libmultipath: avoid grouping paths wrongly with "find_multipaths smart" + (bsc#1209623) + * fix multipath-tools build with liburcu 0.14.0 +* Wed Jan 25 2023 mwilck@suse.com +- Update to version 0.9.4+68+suse.98559ea: + * libmultipath: bump ABI version to 18.0.0 + * libmultipath: pathinfo: don't fail for devices lacking INQUIRY properties + (gh#opensvc/multipath-tools#56) + * libmpathpersist: use conf->timeout for updating persistent reservations + (gh#opensvc/multipath-tools#45) + * libmultipath: is_path_valid(): check if device is in use + (bsc#1203141) (added libmount dependency) + * libmultipath: orphan paths if coalesce_paths frees newmp (bsc#1207546) + * multipathd: handle no active paths in update_map_pr (bsc#1207546) + * multipathd: make pr registration consistent (bsc#1207546) + * libmultipath: don't leak memory on invalid strings (bsc#1207546) + * multipath.conf(5): improve documentation of dev_loss_tmo (bsc#1207546) + * libmpathpersist: fix command keyword ordering (bsc#1207546, bsc#1209345) + * libmultipath: fix 'show paths format' failure + * minor bugfixes + * hwtable fixes + * Build system rework + * spec file: adapt make command line to changes in build system + * spec file: use make -Orecurse (better readable output) + * spec file: use verbose build +* Wed Jan 18 2023 mwilck@suse.com +- Fix "rpm --verify" (bsc#1207232) +* Wed Oct 26 2022 mwilck@suse.com +- Update to version 0.9.2+59+suse.ac8942d: + * Fix segfault in "multipath -t" command (boo#1204731) +* Mon Oct 24 2022 mwilck@suse.com +- Update to version 0.9.2+57+suse.cf3c1e9: + * Fix multipathd authorization bypass and symlink attack + (bsc#1202739 CVE-2022-41973 CVE-2022-41974) + * add multipath-dracut.conf: dracut config file to install + tmpfiles.d/multipath.conf in initramfs + * Use "queue_mode bio" for NVMeoF/TCP devices + * Upstream bug fixes and hwtable updates +- Drop recompress.service, it just slows down build +* Fri Sep 9 2022 mwilck@suse.com +- Update to version 0.9.1+52+suse.be8809e: + * Code-identical to 0.9.1+48+suse.9c6c435 (merge in git repo + to preserve history; fix revision in _service file). +* Wed Sep 7 2022 mwilck@suse.com +- Update to version 0.9.1+48+suse.9c6c435: + * Upstream version update + * kpartx_id: remove bashism + * Doc: add multipathc.8 manual page +* Sat Sep 3 2022 mwilck@suse.com +- Update to version 0.9.0+134+suse.dbf2e2d: + * Add multipathc command under GPL3.0, and split off libmpathutil + (bsc#1202616) + * Fix command completion in interactive mode (bsc#1201483) + * multipathd: fix use-after-free in handle_path_wwid_change() + (bsc#1201483) + * Improve startup time for very large multipath.conf (bsc#1200523) + * Avoid checker blocking event handling for huge number of devices + (boo#1203085) + * Cleanup sysfs accessors in libmultipath + * Minor upstream bug fixes + * Spelling fixes + * Documentation: add ALUA info to README.md, delete README.alua +* Wed Aug 24 2022 mwilck@suse.com +- Update to version 0.9.0+55+suse.33d8854: + * Avoid linking to libreadline to avoid licensing issue + (bsc#1202616) +* Wed Jul 13 2022 mwilck@suse.com +- Update to version 0.9.0+39+suse.51a2ab1: + Upstream bug fixes: + * libmultipath: fix find_multipaths_timeout for unknown hardware + (boo#1201483) + * multipath-tools: fix "multipath -ll" for Native NVME Multipath devices + (boo#1201483) +* Wed Jul 13 2022 mwilck@suse.com +- Update to version 0.9.0+33+suse.fdc6686 + * multipath.conf: add support for "protocol" subsection in + "overrides" section to set certain config options by protocol. + * Removed the previously deprecated options getuid_callout, + config_dir, multipath_dir, pg_timeout + * hwable fixes and additions + * multipath.conf(5): add disclaimer about vendor support + * libmultipath, kpartx: fix callers of dm_get_next_target() + * Change built-in defaults for NVMe: group by prio, and immediate + failback + * Allow compilation with -D_FORTIFY_SOURCE=3 +* Wed May 11 2022 mwilck@suse.com +- Update to version 0.8.9+90+suse.71a70fb: + * support overriding -D_FORTIFY_SOURCE in OPTFLAGS + * add -U_FORTIFY_SOURCE to optflags to avoid compilation errors + on old distros +* Tue May 10 2022 mwilck@suse.com +- Update to version 0.8.9+87+suse.a1eb122: + * add ability to autodetect support for -D_FORTIFY_SOURCE=3 +* Mon May 9 2022 mwilck@suse.com +- Update to version 0.8.9+85+suse.a9da21c: + * This is a pre-release of multipath-tools 0.9.0 + * multipath.conf: add "protocol" subsection in "overrides" section + This allows to set "dev_loss_tmo", "fast_io_fail_tmo", and + "eh_deadline" on a per-protocol basis rather than per storage + * multipath.conf: drop support for deprecated options: + getuid_callout, pg_timeout, config_dir, multipath_dir + * multipathd: don't switch to DAEMON_IDLE during startup + (bsc#1199346, bsc#1197570) + * multipathd: avoid delays during uevent processing (bsc#1199347) + * Fixes for minor issues reported by coverity + * Fix for memory leak with uid_attrs + * Fix possibility to redefine -D_FORTIFY_SOURCE macro. + * Updates for built in hardware db +* Thu Apr 14 2022 mwilck@suse.com +- Update to version 0.8.9+42+suse.45974f11: + * Logging improvements + * Fix busy loop with delayed_reconfigure (bsc#1199342) + * multipathd: use remove_map_callback for delayed reconfigure + * multipathd: Don't keep starting TUR threads, if they always hang. + (bsc#1199345) + * Fix handling of path addition in read-only arrays on NVMe + * Updates of built-in hardware database +- Update to upstream 0.8.9 + * libmultipath: only warn once about unsupported dev_loss_tmo + * Otherwise code-identical to 0.8.8+64 +* Mon Mar 28 2022 mwilck@suse.com +- If multipath-tools is newly installed, load dm-multipath + (bsc#1196898) +* Wed Feb 16 2022 mwilck@suse.com +- Update to version 0.8.8+64+suse.f265f7e0: + * libmultipath: fix printing native nvme multipath topology + (bsc#1196011) + * libmultipath: add %%L path wildcard for 64-bit hex LUN + * libmultipath: support host adapter name lookup for s390x ccw bus +* Tue Feb 15 2022 mwilck@suse.com +- Update to version 0.8.8+60+suse.4c5922cb: + * multipathd: add suppport for FC Fabric Performance Impact + Notifications (FPIN) (bsc#1195506) +* Wed Feb 9 2022 mwilck@suse.com +- Version 0.8.8+57+suse.dfb672fe + * kpartx.rules: skip MD devices (bsc#1195644) + * libmultipath: hwtable: use ALUA for all LIO targets (bsc#1195649) + * multipathd.service: drop ExecStartPre for loading dm-multipath + (bsc#1195397) +* Wed Feb 2 2022 mwilck@suse.com +- Version 0.8.8+45+suse.628d603e + * fix handling of historical-service-time path selector (bsc#1195425) + * fix marking multipath devices as failed prematurely on startup + (bsc#1195426) + * multipathd.service: remove LimitCORE=infinity directive + This should only be enabled for debugging. + * multipathd.service: don't load scsi_dh modules (bsc#1195397) + This is done via modules-load.d functionality on (open)SUSE +- Upstream fixes: + * Fix claiming of paths with "find_multipaths strict" + * Avoid unnecessary read-only reloads +* Fri Jan 7 2022 mwilck@suse.com +- Version 0.8.8+13+suse.79c3556f + * code-wise identical to 0.8.8+38+suse.2bdd3a14 + (previous version number was too high by mistake) +* Mon Dec 6 2021 mwilck@suse.com +- Update to 0.8.8+38+suse.2bdd3a14.obscpio + * upstream version bump. Code-wise identical to 0.8.7+138+suse.7c9afe31 +* Fri Dec 3 2021 mwilck@suse.com +- Drop versioned dependency on libmpath0 again (bsc#1190622) + * Since 0.8.6, libmultipath and libmpathpersist have got proper ABI + versioning, and rpmbuild auto-generates dependencies on + libmultipath.so.0(LIBMULTIPATH_13.0.0) etc. +* Thu Dec 2 2021 mwilck@suse.com +- Update to version 0.8.7+138+suse.7c9afe31: + New upstream version (pre-0.8.8) + * deprecate "config_dir" and "multipath_dir" config options + (will be removed in future version) + * remove dependency on systemd-udevd-settle.service (boo#1193336) + * fix crash in remove_map (boo#1193334) + * CLI: add path wildcard "%%I" for init state + * CLI: add "reconfigure all" command + * allow multiple pending "reconfigure" commands (bsc#1189551) + * speed up "reconfigure" by avoiding unnecessary map reloads + (bsc#1189551) + * rework of CLI command handler (unix socket handler) to avoid + hanging CLI commands (bsc#1189551) + * fix multipathd startup after stop during reconfigure (boo#1193338) + * improve error detection and warning messages in config file parser + * fix exit status of multipath -T (bsc#1191900) + * fix defects reported by coverity (boo#1193342) + - avoid sleeping with locks held + - exit if bindings file is broken + - set umask before mkstemp + - add bounds and consistency checks in SCSI VPD parsing code + * add hardware table entry for DellEMC/ME4 (PowerVault ME4) +* Tue Sep 21 2021 mwilck@suse.com +- Add a versioned dependency of multipath-tools on libmpath0 + (bsc#1190622) +* Fri Sep 10 2021 mwilck@suse.com +- Update to version 0.8.7+14+suse.5a09bfa1: + * Fix possible string overflows (bsc#1188148) +- Upstream fixes / changes + * better string handling + * multipath: print warning if multipathd isn't running + * mpathpersist: better error msg when no usable paths exist + * fixes from 0.8.6+32+suse.f11c192 merged upstream +* Fri Aug 13 2021 mwilck@suse.com +- Spec file: remove compatibility code for SLE <= SLE15-SP2 +* Thu Aug 12 2021 mwilck@suse.com +- Update to version 0.8.6+32+suse.f11c192: + * libmultipath:fix compilation with glibc 2.34 (bsc#1189099) + * libmultipath: avoid buffer size warning with systemd 240+ + (bsc#1189176) + * libmultipath: use uint64_t for sg_id.lun (bsc#1187534) +- Upstream bug fixes: + * multipath-tools: make HUAWEI/XSG1 config work with alua and multibus + * multipath-tools: add info about HPE Alletra 6000 and 9000 + * multipathd: cli_getprkey(): fix return value and "aptpl" support + * multipathd: don't rescan_path on wwid change in uev_update_path + * kpartx: Don't leak memory when getblock returns NULL + * multipath: free vectors in configure + * multipathd: fix ev_remove_path return code handling + * multipathd: remove duplicate orphan_paths in flush_map + * multipathd: don't fail to remove path once the map is removed + * multipathd: fix compilation issue with liburcu < 0.8 +* Tue Jun 8 2021 lnussel@suse.de +- install to /usr on Tumbleweed (boo#1029961) +* Tue May 18 2021 mwilck@suse.com +- Update to version 0.8.6+10+suse.47711374: + * Github workflows: add CI for SUSE-specific branches +* Fri Apr 2 2021 mwilck@suse.com +- Disabled LTO for multipath-tools + * The test for is_valid_path fails if LTO is enabled, just + disabling it for %%check is insufficient. +* Thu Apr 1 2021 mwilck@suse.com +- Update to version 0.8.6+9+suse.6c05a61: + Update to upstream 0.8.6. + * add eh_deadline option to avoid endless SCSI error handling + * add wwid_recheck option to detect storage configuration changes + * add library versioning for libmultipath, libmpathpersist etc. and + to libmultipath plugins + * move some global symbols to libmultipath (udev, logsink, etc) + and provide default implementations for get_multipath_config() etc. + This allows simplifiying libmpathpersist_example.c drastically. + * fixes for shutdown issues and various race conditions on exit + * improve cleanup on exit, fix memory leaks + * add libmpathvalid library + * fixes for SAS expanders (bsc#1178377, bsc#1178379, bsc#1177081) + * Avoid access to root FS while queueing IO (bsc#1178049, + bsc#1181234) + * lots of bug fixes, additions to built-in hardware table, and + CI improvements (bsc#1186212) + * kpartx: free loop device after listing partitions (boo#1107187) + Bug fixes on top of 0.8.5 mentioned below are also included in + this upstream version. +* Thu Apr 1 2021 mwilck@suse.com +- Update to version 0.8.5+30+suse.633836e: + * multipathd: give up "add missing path" after multiple failures + (bsc#1183963) +* Thu Mar 18 2021 mwilck@suse.com +- Update to version 0.8.5+29+suse.5dabcd2: + * 11-dm-mpath.rules: run "multipath -U" with -v1 (bsc#1182871) + * libmultipath: merge update_multipath_table() and update_multipath_status() + (bsc#1183666) +* Fri Mar 12 2021 mwilck@suse.com +- Update to version 0.8.5+26+suse.2cbedfd: + Avoid "illegal request" errors on non-RDAC storage + (bsc#1182072, bsc#1177371) +* Wed Mar 10 2021 mwilck@suse.com +- Update to version 0.8.5+23+suse.c11b054: + * multipath -U: reduce log level of "adding new path" message + (bsc#1181435, bsc#1183666) +* Wed Feb 10 2021 mwilck@suse.com +- Update to version 0.8.5+22+suse.e1e3c48: + * multipath-tools tests: fix stringop-overflow build errors with gcc 11 + (bsc#1181877) + * README moved to README.md (has been converted to markdown upstream) +* Wed Dec 16 2020 mwilck@suse.com +- Update to version 0.8.5+12+suse.3b0e9ca + * libmultipath: force map reload if udev incomplete + (bsc#1178662, bsc#1172157, bsc#1175454, bsc#1176406) +- Fixes from upstream 0.8.5 + * multipath-tools: add MacroSAN arrays to hwtable + * libmultipath: Allow discovery of USB devices + (add configuration option "allow_usb_devices") +* Fri Dec 4 2020 mwilck@suse.com +- Remove compatibility code for SLE <= 12-SP2 from spec file +* Thu Sep 17 2020 mwilck@suse.com +- Bugref for all minor fixes since SLE15-SP2 release (bsc#1176670) +- Added README.alua +* Wed Sep 16 2020 mwilck@suse.com +- Update to version 0.8.4+192+suse.1bc10ad: + * Fix handling of hardware properties for maps without paths + (bsc#1176644) +* Wed Sep 16 2020 mwilck@suse.com +- Update to version 0.8.4+190+suse.fe234ea: + * Fixes for daemon shutdown issues from SLE(bsc#1110060, bsc#1110439) + - multipathd: allow shutdown during configure() + * fix compilation of external programs with -lmultipath + (bsc#1133957, necessary after the above fix) + * Minor upstream fixes +* Thu Sep 10 2020 mwilck@suse.com +- Missing past changelog bug references: + * 0.7.3+10+suse.70ccb55b0439: + Patch series for NVMe discovery and failover (bsc#1038865, + bsc#1057820) + * 0.7.9+109+suse.203c1cf + * setup_map: wait for pending path checkers to finish + (bsc#1118224) +* Thu Aug 27 2020 mwilck@suse.com +- Update to version 0.8.4+183+suse.1817ce2: + Added reviewed upstream fix for multipath crash + * multipath: get_dm_mpvec: discard broken maps +* Wed Aug 26 2020 mwilck@suse.com +- Update to version 0.8.4+180+suse.50a2698: + * Fix memory access / leak issues found with valgrind +* Fri Aug 21 2020 mwilck@suse.com +- Update to version 0.8.4+170+suse.801341f: + * libmultipath: tests: fix bitfield tests + * Spec file: disable LTO for %%check (bsc#1133122) +* Thu Aug 20 2020 mwilck@suse.com +- Update to version 0.8.4+167+suse.70bef90: + Pull in reviewed upstream changes +- Bug fixes + * libmultipath: add consistency check for alias settings (bsc#1172429) + * libmultipath: select_action(): don't drop map if alias clashes (bsc#1172429) + * libmultipath: refuse reloading an existing map with different WWID + (bsc#1172429) + * libmultipath: select_action(): force udev reload for uninitialized maps + (bsc#1172157) + * multipathd: uev_trigger(): handle incomplete ADD events (bsc#1172157) + * improve logging for failure to set dev_loss_tmo (bsc#1173060, bsc#1173064) + * libmultipath: add device to hwtable.c (bsc#1174026) (ETERNUS AHB) +- New features + * multipath: add -D option to skip multipathd delegation + * multipath: delegate flushing maps to multipathd + * multipathd: add "del maps" multipathd command +- Other changes + * cleanup disassemble_map() code path (bsc#1178377, bsc#1178379) + * multipath-tools: introduce INIT_REMOVED state + * logging improvements + * fix "multipathd show devices" + * libmultipath: remove uevent listener failback + * libmultipath: create bitfield abstraction + * libmultipath: count pending paths as active on loads + * kpartx: handle alternate bsd disklabel location +- Lots of minor fixes and cleanups +- Spec file: use %%service_del_postun_without_restart macro +* Wed Jun 10 2020 mwilck@suse.com +- Update to version 0.8.4+43+suse.908383f: + * enable negated regular expression syntax in conf file + (bsc#1182917) + * change default devnode blacklist to + '!^(sd[a-z]|dasd[a-z]|nvme[0-9])' +* Mon Jun 8 2020 mwilck@suse.com +- Update to version 0.8.4+40+suse.b06c2e5a: +- Fix udev rule processing during coldplug (bsc#1172157) + * 11-dm-mpath.rules: Fix udev rule processing during coldplug +- Fix compilation with gcc-10 + * fix boolean value with json-c 0.14 + * libmultipath: fix condlog NULL argument in uevent_get_env_var +- Reviewed upstream changes: + * simplify failed_wwid code + * centralize path validation code +- Use pkgconfig for BuildRequires +* Tue May 12 2020 mwilck@suse.com +- Update to version 0.8.4+31+suse.8f53764: + * Fix sporadic build failures caused by missing build dependencies +* Mon May 11 2020 mwilck@suse.com +- Update to version 0.8.4+29+suse.c27ed8d: + * multipath-tools: Makefile.inc: set -Wno-error=clobbered + * Makefile.inc: keep warning flags during rpm build + * Eliminate compiler warnings on 32bit build. + * Fixes for tests under i586 +- Spec file: add %%check section to run multipath-tools CI + * not on SLE12, as cmocka is missing + * add build dependency on cmocka for building tests + * run "make test" with parallel make +* Mon May 11 2020 mwilck@suse.com +- Update to version 0.8.4+19+suse.48fc2f4: + * multipath: add "-e" option to enable foreign libraries + * libmultipath: set "enable_foreign" to NONE by default + * deleted libmultipath-set-enable_foreign-to-NONE-by-default.patch + (included in factory git repo now). + * Makefile: dependency fixes for parallel build +- Get rid of %%is_opensuse: + * drop build workaround for Leap 42.1 + * build libdmmp for everything except SLE12/Leap42 and older +- Other spec file updates: + * use %%make_build to speed up build (possible with 0.8.4) +- Migrated to .obscpio format. +* Fri May 8 2020 mwilck@suse.com +- Update to version 0.8.4+16+suse.f319f7ea +- Changed github workflow back from merge-based to rebase-based. + This makes it much easier to assess differences between upstream + and SUSE code. + * Use TAG_OFFSET in _service, as this is now possible again. +- Reviewed upstream patches added: + * kpartx.rules: fix handling of synthetic uevents (bsc#1161923) + * libmpathpersist: limit PRIN allocation length to 8192 bytes + (bsc#1165786) +- Update upstream version to 0.8.4 + * drop nr_active field, always count active paths (bsc#1125043) + * kpartx: fix detection of dasd partition tables on loop devices + (bsc#1139775) + * directio path checker fixes + * lots of fixes for compiler warnings, and cleanups + * nvme: update to nvme-cli 1.9 +* Wed Feb 12 2020 mwilck@suse.com +- Update to version 0.8.3+11+suse.7dcdf2f: + * libmultipath: fix files read from config_dir (bsc#1162896) +* Thu Jan 16 2020 mwilck@suse.com +- Update to version 0.8.3+10+suse.86684b9: + * libmultipath: fix compilation with -fno-common + (boo#1160403) +* Fri Oct 4 2019 mwilck@suse.com +- Update to version 0.8.3+9+suse.f6f2a52 +- Minor upstream improvements and bug fixes + * libmultipath: EMC PowerMax NVMe device config +* Wed Sep 4 2019 mwilck@suse.com +- Update to version 0.8.2+27+suse.3ff280b: + * Added upstream patch to fix premature path reinstantiation + with san_path_err_XX (boo#1149319) +* Thu Aug 29 2019 mwilck@suse.com +- Update to version 0.8.2+26+suse.d884195: +- Don't activate NVMe native multipath support by default + * multipath.conf.5: document foreign library support + * multipath.conf: add "enable_foreign" parameter (bsc#1139837) + * Set default for "enable_foreign" to "NONE" (bsc#1139837) + added libmultipath-set-enable_foreign-to-NONE-by-default.patch +- Added reviewed upstream patches (marginal path patch set from Red Hat) + * add "marginal_pathgroups" config option + * deprecate "delay_wait_checks" and "delay_watch_checks"; they are + now automatically mapped to eqivalent "san_path_err_..." settings. +* Tue Jul 16 2019 mwilck@suse.com +- Update to version 0.8.2+11+suse.0f6a649: + * kpartx: recognize DASD on loop devices again (bsc#1139775) + * Bump version to 0.8.2 - most changes were already in SUSE tree + * Man page improvements (bsc#1148767) +* Tue Jul 2 2019 mwilck@suse.com +- Update to version 0.8.1+59+suse.f947184: + * libmultipath: trigger uevents for partitions, too (bsc#1140146) +* Tue Jun 25 2019 mwilck@suse.com +- Update to version 0.8.1+58+suse.2af8f92: + * libmultipath: more cautious blacklisting by missing property + (don't blacklist paths because of temporarily missing + udev properties) + * libmultipath: fix memory leak with "uid_attrs" config option + * libmultipath: get_uid: straighten the fallback logic +- Fix SCSI VPD 0x80/0x83 parsing +- Fix compiler warnings introduced by gcc 9: + * -Wstringop-overflow, -Wstringop-truncation, + - Waddress-of-packed-member +* Tue Jun 25 2019 mwilck@suse.com +- Update to version 0.8.1+28+suse.fea562a: + * mpathpersist: optimize for setups with many LUNs (bsc#1134648) + * mpathpersist: add option -f/--batch-file (bsc#1134648) + * libmultipath: get_prio(): really don't reset prio for + inaccessible paths (bsc#1118495) +- Upstream bug fixes from dm-devel (bsc#1139369): + * multipath: call store_pathinfo with DI_BLACKLIST + * multipathd: fix REALLOC_REPLY with max length reply + * libmultipath: make vector_foreach_slot_backwards work as expected + * multipathd: fix client response for socket activation + (bsc#1133861) + * various minor fixes (coverity) +* Tue Apr 30 2019 mwilck@suse.com +- Disable kmod() style dependencies again (bsc#1119414) + * For TW, dependencies will be autogenerated + (gh#openSUSE/rpm-config-SUSE#3) + * For SLE, feature is currently rejected (jsc#SLE-3853) +- Update to version 0.8.1+8+suse.8c11498: + * Avoid deadlock situation during udev settle + (bsc#1131789, bsc#1125145) + - multipath -u: test socket connection in non-blocking mode + * Fix priority handling for offline paths + (bsc#1118495) +- Update to upstream 0.8.1 (bsc#1148767) + * Avoid device IO in "multipath -u" (bsc#1125145) + * multipathd: protect all access to running_state + (bsc##1110060, bsc#1110439) + * Improve handling of changed WWIDs and temporary failure + to obtain WWID. Option "disable_changed_wwids" is now ignored. + (bsc#1184260) + * Fixes for PATH_PENDING state handling (bsc#1125043) + * libmultipath: hwtable: add Lenovo DE series (bsc#1125507) +* Sat Apr 13 2019 jengelh@inai.de +- Trim %%if..%%endif guards that do not affect the build result. +- Combine %%service_* calls to reduce generated code. +- Make use of %%make_install. +* Tue Mar 19 2019 mwilck@suse.com +- Re-enable kmod-style dependencies for multipath-tools package + (bsc#1119414) +- Separate out libmpath0 (bsc#1119414) +- Spec file improvements + * Add Conflicts: for older multipath-tools to libmpath0 + * Move license files to the libmpath0 package, which contains the + code with complex licensing. The executables are GPL-2.0 anyway. + * Remove bogus dependency of -devel package on device-mapper + * -devel package depends on libmpath0, not multipath-tools + * Remove %%dir %%{_defaultlicensedir} for SLE12-SP3 and newer + (John Vandenberg ) + * Remove unused /var/cache/multipath directory + * Remove check for multipath maps in %%pre and %%post + * Remove SLE11-specific multipathd service stop / start from + %%pre / %%post + * Remove obsolete tools from package description (bsc#1129827) + * Add -n to %%service_del_{pre,post}un for multipathd.socket +* Fri Mar 15 2019 mwilck@suse.com +- Update to version 0.8.0+17+suse.a28893f: + * Code-identical to 0.7.9+139+suse.ed9d450, except for new + version number +- Disable kmod() style dependencies for now, as they are causing + problems with image builds (bsc#1119414). They'd been active + for SLE15-SP1 only, anyway. +- _service: determine "tag offset" manually, the patch count + determined by git is far too high. +* Thu Mar 7 2019 mwilck@suse.com +- Fix module name in multipath.conf (bsc#1119414) + * The modules-load.d entry must match the filename exactly +* Thu Mar 7 2019 mwilck@suse.com +- Update to version 0.7.9+139+suse.ed9d450: + * multipath-tools: Build: properly parse systemd's version +* Tue Mar 5 2019 mwilck@suse.com +- Add kmod(xyz) style dependencies for SLE15-SP1 + (jsc#SLE-3853, fate#326579, bsc#1119414) +* Tue Mar 5 2019 mwilck@suse.com +- Update to version 0.7.9+138+suse.0edd0a2: +- Include reviewed fixes from upstream + * libmutipath: continue to use old state on PATH_PENDING + * libmultipath: disable user_friendly_names for NetApp + * multipath: blacklist zram devices + * various fixes for martinal path code +- Bug fixes: + * multipathd: Fix miscounting active paths (bsc#1125043) + * multipathd: avoid null pointer dereference in LOG_MSG + (bsc#1127873) + * minor fixes suggested by coverity (bsc#1127879) +* Fri Jan 11 2019 mwilck@suse.com +- Add BuildRequires on suse-module-tools + * we need it for regenerate_initrd_posttrans +* Wed Jan 9 2019 mwilck@suse.com +- Update to version 0.7.9+111+suse.b4232b7: +- merged upstream cb4a979a (SUSE bug fixes merged upstream, + code-identical to previous release). +* Tue Jan 8 2019 mwilck@suse.com +- Update to version 0.7.9+109+suse.203c1cf: + * multipathd: avoid crash in cli_list_path (bsc#1121134) + * libmultipath: fix compilation with older kernel headers + (bsc#1121066) +- merged upstream fb824725 + * Improved NVMe support in both native and dm-mpath mode + added basic NVMe ANA support (bsc#1119898, bsc#1118495) + * Fix prio output in "multipathd show topology" (bsc#1119897) + * multipathd: fix daemon not really shutdown + (bsc##1110060, bsc#1110439) +* Fri Dec 14 2018 mwilck@suse.com +- Update to version 0.7.9+90+suse.f81e290: + * libmultipath: Increase SERIAL_SIZE to 128 bytes + (bsc#1107179) +* Wed Dec 12 2018 mwilck@suse.com +- Update to version 0.7.9+89+suse.df77b66: +- re-enable "san_path_err_xy" options + These have been removed upstream, but they were supported + in SLE-15/Leap15.0, so we can't simply throw them away. + Improve documentation, mark them as deprecated, but keep + the code in place. +* Wed Dec 12 2018 mwilck@suse.com +- Update to version 0.7.9+85+suse.766b95e: + * upstream patch series to make verbosity level 3 + less verbose and thus better usable (bsc#1118937) + * fix for handling device size mismatch in coalesce_paths() + (bsc#1037379) + * libmultipath: fix false removes in dmevents polling code + (bsc#1116272) + * Spec file: remove build dependency on dracut which causes + build errors for some distributions +* Mon Nov 26 2018 mwilck@suse.com +- Update to version 0.7.9+58+suse.0790830: + * libmpathpersist: fix off-by-one error in PRIN length check + (bsc#1099007) + * multipathd: fix mpp->hwe handling when paths are freed + (fix possible crash caused by new hardware table code) +* Wed Nov 14 2018 mwilck@suse.com +- Update to version 0.7.9+55+suse.9fc8439: + (note the "55" is due to former merge operations. We actually + only have 7 patches on top of upstream. All other patches + referenced below as "not upstream" have been merged). + * Bump version to 0.7.9 + * multipathd: reset delay_wait_checks counter on failure + (bsc#1114771) + * multipathd: fix irritating "minor number mismatch" message + (bsc#1111116) + * fix possible failure to shut down (bsc#1110060, bsc#1110439) + * upstream "checker overhaul" - cleanups and improvements for + path checkers + * Upstream fixes for failures handling path initializiation + * various small upstream bug fixes. +* Wed Oct 3 2018 mwilck@suse.com +- Update to version 0.7.7+136+suse.19bb285: + Bug fixes from upstream, and SUSE bug fixes + * multipathd: try SCSI persistent reservations for SCSI only + (bsc#1108875) + * libmultipath: allow sysfs_pathinfo to return SKIPPED (bsc#1098458) + * libmultipath: Fixup updating paths (bsc#1110418) + * multipathd: fix memory leak on error in configure (bsc#1110418) + * multipathd: minor fixes (bsc#1110418) + * multipathd: function return value tweaks (bsc#1110418) + * multipath: fix max array size in print_cmd_valid (bsc#1110418) + * libmutipath: don't use malformed uevents (bsc#1110418) + * libmultipath: fix null dereference int alloc_path_group (bsc#1110418) + * libmultipath: fix memory issue in path_latency prio (bsc#1110418) + * libmultipath: fix length issues in get_vpd_sgio (bsc#1110418) + * multipathd: decrease log level of uevent messages (bsc#1110586) + * multipathd: fix version check for DM_DEV_ARM_POLL ioctl (bsc#1110587) + * libmultipath: pathinfo: skip hidden devices (bsc#1110586) + * libmultipath: nvme: shorter topology output (bsc#1082419) + * libmultipath: nvme: fix path detection for kernel 4.16 (bsc#1091112) + * libmultipath: fix gcc 8.1 "truncated output" warnings (bsc#1099007) + * (lib)mpathpersist: use O_RDONLY file descriptors (bsc#1093220) + * libmpathpersist: fix byte swapping for big endian systems (bsc#1099036) + * multipath-tools/tests: add tests for get_unaligned_beXX (bsc#1099036) + * libmultipath: add (get|put)_unaligned_be64 (bsc#1099036) + * libmpathpersist: fix stack overflow in mpath_format_readfullstatus() + (bsc#1099007) + * libmpathpersist: fix typo in mpath_format_readfullstatus (bsc#1099007) + * libmpathpersist: remove duplicate test in readfullstatus (bsc#1099007) +- Update to upstream 1a8625abd (0.7.7+82) + * minor fixes for kpartx, found by coverity + * mpathpersist: add --param-alltgpt option + * libmultipath: add "protocol" blacklist option. + * multipathd: add new wildcard "%%P" for "protocol" + * multipath-tools: fix products names in hwtable + * libmultipath: more debug output in alua prioritizer (bsc#1080965) + * libmultipath: alua: retry RTPG for NOT_READY and UNIT_ATTENTION + (bsc#1080965) + * libmultipath: alua_rtpg: use condlog for error messages (bsc#1080965) +* Mon Jul 2 2018 mwilck@suse.com +- Update to version 0.7.7+75+suse.6287aef: + Added minor updates from upstream + * multipath-tools: add info about how to enable ALUA in ONTAP + * multipath-tools: add directio path_checker for DASD devices + * multipath-tools: make Product Name mandatory and add all of them + Minor rebase, as some SUSE patches have been merged upstream + (all mentioned in previous changelogs) +* Fri Jun 29 2018 mwilck@suse.com +- Update to version 0.7.7+72+suse.4b24466: + * multipath: fix return code handling in delegate_to_multipathd + (bsc#1098177) + * multipath: don't start multipathd unnecessarily (bsc#1098177) +* Mon Jun 25 2018 mwilck@suse.com +- Update to version 0.7.7+70+suse.4a5941e: + * libmultipath: change partition_delimiter default to "-part" + (bsc#1073622, bsc#1056526) + * change default for find_multipaths to "greedy" (bsc#1099054) + * libmultipath: allow distributions to change partition_delim default + (bsc#1073622, bsc#1056526) +* Mon Jun 25 2018 mwilck@suse.com +- Update to version 0.7.7+67+suse.a7d1e14: +- RBD/RADOS backend support has been removed upstream + remove support for it in SUSE, too (boo#1099037, FATE#826853) + * added Obsoletes: for multipath-tools-rbd. +- libdmmp version has changed to 0.2.0 +- New patches not yet upstream: + (Wed Jun 12 2018: these are now upstream, since 0.7.8) + * multipathd: fix mpp->hwe handling on path removal (boo#1099028) + * libmultipath: print correct default for delay_*_checks + (boo#1099026, bsc#1110418) + * libmultipath: avoid error messages from RDAC check + (bsc#1108728, bsc#1075539) + * (lib)mpathpersist: use O_RDONLY file descriptors (bsc#1093220) + * libmpathpersist: fix byte swapping for big endian systems (bsc#1099036) + * multipath-tools/tests: add tests for get_unaligned_beXX (bsc#1099036) + * libmultipath: add (get|put)_unaligned_be64 (bsc#1099036) + * libmpathpersist: fix stack overflow in mpath_format_readfullstatus() + (bsc#1099007) + * multipathd: fix buffer size in cli_getprkey (bsc#1099028) + * libmultipath: fix gcc 8.1 "truncated output" warnings + (bsc#1099007) + * libmpathpersist: fix typo in mpath_format_readfullstatus + (bsc#1099007) + * libmpathpersist: remove duplicate test in readfullstatus + (bsc#1099007) +- SUSE specific patches preserved: + * multipath.rules: temporary rule to obtain ID_WWN for NVMe (bsc#1076828) + * kpartx: create symlinks for dmraid devices (bsc#1064212) + * multipath.conf.5: document no_partitons compat support (fate#323406) + * libmultipath: compat support for 'features "1 no_partitions"' (fate#323406) + * Added fossology assessment as README.licenses (bsc#1088801) +- Dropped patches from previous factory/SLE15 release (0.7.3+69+suse.218a0d0): + * libmultipath: don't [un]set queue_if_no_path after domap + obsoleted by "libmultipath: cleanup features handling code" + * multipath.rules: use -i flag to multipath + obsoleted by path detection patch series + * libmpathpersist: add support for prkeys file v3 + obsoleted by "mpathpersist: Fix invalid condition check" + * libmultipath: fix deadlock in tur.c + obsoleted by "libmultipath: fix tur checker locking" + * checkers/rbd: missing pthread_lock() on failure path + obsolete because of RBD removal + * libmultipath/hwtable: don't hard-code ALUA for IBM IPR + obsoleted by "libmultipath: hwhandler auto-detection for ALUA" and + "libmultipath: don't reject maps with undefined prio" + (bsc#1085212, bsc#1075129) +- Update to upstream version 0.7.7+50 (39ad8dc8) +- rework of "find_multipaths" logic + * find_multipaths can now be "strict", "yes", "no", "greedy", or "smart" + * SUSE default is "greedy" for now, consistent with previous behavior + * "multipath -u -i" not necessary in udev rules any more + (removed SUSE patch "multipath.rules: use -i flag to multipath") +- patch series for config file handling (bsc#1067789): + * fix inconsistent handling of multiple config file entries + matching the same device (bsc#1067789) + * multipath: implement "multipath -T" (bsc#1067789) + * multipathd: implement "show config local" (bsc#1067789) + * libmultipath: merge "multipath" config sections by wwid + * multipathd: add path format wildcard "%%0" for failures + * libmultipath: config parser: Allow '"' in strings +- multipath-tools: foreign/NVME implementation (bsc#1082419) for + native NVME multipath configurations +- Other new upstream features: + * mpathpersist: add all_tg_pt option + * add polling dmevent handler (only one thread waiting for device-mapper + events rather than one per map). + * multipath: add "ghost_delay" parameter + * "marginal path" path state checking for better handling of + unstable "shaky" connections in a SAN. + conf options "marginal_path_err_rate_threshold" etc, see man page. + This replaces the previous "san_path_err_threshold" functionality. +- Upstream bug fixes: + * Man page corrections and improvements for multipath.conf(5) + * libmultipath: fix memory leak in process_config_dir() (bsc#1110352) + * multipath: don't check timestamps without a path + * multipathd: handle errors in uxlsnr as fatal (bsc#1086025) + * libmultipath: don't reject maps with undefined prio (bsc#1085212, + bsc#1075129) + * multipathd: fix reservation_key check (bsc#1099008) + * 11-dm-mpath.rules: dont't run "multipath -U" during coldplug + (bsc#1084748) + * libmultipath: hwhandler auto-detection for ALUA + (bsc#1085212, bsc#1075129) + * multipath: fix rcu thread cancellation hang (bsc#1110418) + * multipathd: register threads that use rcu calls (bsc#1110418) + * multipathd: fix waiter thread cancelling + * multipathd: use nanosleep for strict timing (avoids possible + races with SIGALRM) + * logging fixes: + * libmultipath: fix log_pthread processing + * libmultipath: set dm_conf_verbosity + * libmultipath: fix basenamecpy + * libmultipath: uev_update_path: update path properties + * libmultipath: uev_update_path: always warn if WWID changed + * libmultipath: get_uid: don't quit prematurely without udev + (bsc#1108728) + * libmultipath: get_uid: check VPD pages for SCSI only (bsc#1108728) + * libmultipath: fix wrong output of "multipath -t" + * Introduce the libmultipath/unaligned.h header file + (bsc#1099036) + * libmultipath: Fix sgio_get_vpd() (bsc#1099484) + * kpartx: Improve reliability of find_loop_by_file() + * libmultipath, alloc_path_with_pathinfo(): Ensure that pp->wwid is '\0'-terminated + * libmultipath: enable feature disable changed wwid by default + * multipathd: add lock protection for cli_list_status + * bug fixes for "marginal path checker" + * multipathd: fix signal blocking logic (bsc#1110060, bsc#1110439, + bsc#1086025) + * multipath-tools: add INSPUR/MCS to hardware table + * multipath-tools: add RDAC SUN/ArrayStorage to hwtable + * multipath-tools: remove DF arrays from HP + * multipath: print sysfs state in fast list mode (bsc#1110354) + * multipathd: remove coalesce_paths from ev_add_map + * multipath: fix DEF_TIMEOUT use + * libmultipath: fix tur checker locking + * multipath-tools: handle exit signal immediately (bsc#1086025) + * multipathd: release uxsocket and resource when cancel thread + (bsc#1110355) + * path latency prioritizer fixes + * multipathd.service: set TasksMax=infinity (bsc#1060616) + * multipathd.service: drop Before=lvm2-lvmetad.service + (bsc#1070427) + * multipathd.socket: add WantedBy=sockets.target + * kpartx.rules: fix by-id/scsi-* for user_friendly_names + * multipath -C: decrease log level + * libmultipath: hwtable: no_path_retry="queue" for NetApp NVMe + * libmultipath: hwtable: multibus for NetApp NVMe-FC + * libmultipath: select ALUA prioritizer for RDAC arrays only + (bsc#1075539, bsc#1081241) + * libmultipath: get_vpd_sgio: support VPD 0xc9 (bsc#1055949) + * libmultipath: condlog: log to stderr (bsc#1055949) + * multipath: delegate dangerous commands to multipathdd (bsc#1047639) + * libmultipath: don't try to set hwhandler if it is retained + (bsc#1047639) + * libmultipath: don't update path queueing on reload + * multipathd: marginal path code fixes + * multipath: check failed path dmstate in check_path + * multipathd: clean up set_no_path_retry + * multipathd: fix device creation issues + * libmultipath: cleanup features handling code + * multipath: fix hwhandler check in select_action + * kpartx: don't delete partitions from partitions + * limbultipath: prefer RDAC checker with detect_checker + * multipath-tools: add AccelStor/NeoSapphire to hardware table + * multipath-tools: add TMS/RamSan to hardware table + * multipath-tools: add XIV/NEXTRA to hardware table + * multipath-tools: add XIOtech/Magnitude to hardware table + * libmultipath: ensure checker->fd == -1 if not set +* Thu Apr 12 2018 mwilck@suse.com +- Update to version 0.7.3+69+suse.218a0d0: + * multipath -ll: print foreign maps only with "-o" flag + (bsc#1089353) + * Revert "disable nvme foreign library" +* Thu Apr 12 2018 mwilck@suse.com +- Update to version 0.7.3+67+suse.8f0c27b: + * disable nvme foreign library (bsc#1089353) +* Tue Apr 10 2018 mwilck@suse.com +- No functional changes +- Fixed rpmlint warnings (bsc#1088946) + * multipath-tools-devel: moved .so files to /usr/lib[64] + * added version dependencies for -devel packages +* Tue Apr 10 2018 mwilck@suse.com +- No functional changes + * fixed SPDX syntax (and -> AND) + * added /usr/share/licenses +* Tue Apr 10 2018 mwilck@suse.com< +- No functional changes, just licenses +- Spec file: fix %%license tags and info after closer inspection + (bsc#1088801) + * kpartx is under GPL-2.0-only + * rbd is under LGPL-2.1-only +- Update to version 0.7.3+66+suse.dc5fe2d: Fix licensing info (bsc#1088801) + * Added fossology assessment as README.licenses + * multipath-tools: create LICENSES dir with the text of all used licences +* Fri Apr 6 2018 mwilck@suse.com +- Update to version 0.7.3+61+suse.d4d0494: + * 11-dm-mpath.rules: dont't run "multipath -U" during coldplug + (bsc#1084748) +* Wed Mar 28 2018 mwilck@suse.com +- Fixed license tags in spec file + * multipath tools / libmultipath is GPL-2.0-only + * libmpathcmd is LGPL-2.0-or-later + * libdmmp is GPL-3.0-or-later + * adopt SPDX format. +* Wed Mar 28 2018 mwilck@suse.com +- Update to version 0.7.3+60+suse.46ac839: + * libmultipath/hwtable: don't hard-code ALUA for IBM IPR + (bsc#1085212, bsc#1075129) +* Wed Mar 21 2018 mwilck@suse.com +- Update to version 0.7.3+59+suse.1b6191c26774: + * libmultipath: don't reject maps with undefined prio (bsc#1085212, + bsc#1075129) + * multipathd: handle errors in uxlsnr as fatal (bsc#1086025) +* Tue Mar 20 2018 mwilck@suse.com +- Update to version 0.7.3+57+suse.bb6be4c8b4ca: + * multipathd: fix signal blocking logic (bsc#1086025) + * multipath-tools: handle exit signal immediately (bsc#1086025) + * multipath: fix DEF_TIMEOUT use (bsc#1086014) + * multipath-tools: foreign/NVME implementation v2 (upstream accepted) + (bsc#1082419) +* Mon Feb 26 2018 mwilck@suse.com +- Update to version 0.7.3+53+suse.140f4937e9e7: + * libmultipath: fix wrong output of "multipath -t" (bsc#1082835) +* Thu Feb 22 2018 mwilck@suse.com +- Update to version 0.7.3+52+suse.08a969b7fce0: +- Add limited support for displaying native NVMe multipath + (bsc#1082419) + * libmultipath: foreign/nvme: implement path display + * multipathd: use foreign API + * multipath: use foreign API + * libmultipath/foreign: nvme foreign library + * libmultipath/print: add "%%G - foreign" wildcard + * libmultipath: API for foreign multipath handling + * libmultipath: print: use generic API for get_x_layout() + * libmultipath: print: convert API to generic data type + * libmultipath: "generic multipath" interface + * libmultipath: add vector_convert() + * libmultipath: add vector_free_const() + * libmultipath: get rid of selector "hack" in print.c +- Fix locking errors detected by coverity check (bsc#1082418) + * checkers/rbd: missing pthread_lock() on failure path + * libmultipath: fix deadlock in tur.c +* Mon Feb 12 2018 mwilck@suse.com +- Fix whitespace in dracut conf file (bsc#1080562) +* Tue Jan 30 2018 mwilck@suse.com +- Update to version 0.7.3+38+suse.a16beed5280a: + * kpartx: don't delete partitions from partitions (bsc#1078362) + * hwtable: add latest updates (bsc#1078363) + * multipathd.service: set TasksMax=infinity (bsc#1060616) +* Fri Jan 26 2018 mwilck@suse.com +- Update to version 0.7.3+31+suse.6804bb73f72d: + * libmultipath: hwtable: no_path_retry="queue" for NetApp NVMe + (bsc#1073319) +* Fri Jan 19 2018 mwilck@suse.com +- Update to version 0.7.3+30+suse.6b5ed839: + * multipath.rules: temporary rule to obtain ID_WWN for NVMe + (bsc#1076828) + * libmultipath: ignore natively multipathed NVME devices + (bsc#1076828) + * multipath.rules: handle NVME devices (bsc#1076828) + * FIX "libmultipath: hwtable: multibus for NetApp NVMe-FC" + (bsc#1073319) + * libmultipath: increase path product_id/rev field size for NVMe + (bsc#1073319) +* Tue Jan 16 2018 mwilck@suse.com +- Update to version 0.7.3+25+suse.7c9920e2: + * assemble_map: no newline at end of params string (bsc#1072253) +* Thu Jan 11 2018 mwilck@suse.com +- Update to version 0.7.3+24+suse.703a61d5: + * multipathd.service: drop Before=lvm2-lvmetad.service (bsc#1070427) + * libmultipath: hwtable: multibus for NetApp NVMe-FC + (bsc#1073319) + * libmultipath/propsel: select ALUA prioritizer for RDAC arrays only + (bsc#1075539, bsc#1081241) + * libmultipath: get_vpd_sgio: support VPD 0xc9 (bsc#1055949) + * libmultipath: sgio_get_vpd: add page argument (bsc#1055949) + * libmultipath: fix return code of sgio_get_vpd() (bsc#1055949) +* Fri Dec 22 2017 mwilck@suse.com +- Update to version 0.7.3+19+suse.0fd18bdd: + * multipathd.socket: add WantedBy=sockets.target (bsc#1072253) +* Fri Dec 22 2017 mwilck@suse.com +- Update to version 0.7.3+18+suse.8c97f433: + * multipath -C: decrease log level (bsc#1072504) +* Fri Dec 22 2017 mwilck@suse.com +- Update to version 0.7.3+17+suse.cac42e6f: + * test-kpartx: add test for mapping without UUID + (bsc#1074013) +* Wed Nov 29 2017 mwilck@suse.com +- Update to version 0.7.3+15+suse.570d5938: + * kpartx.rules: fix by-id/scsi-* for user_friendly_names + (bsc#1066893) +* Mon Nov 20 2017 mwilck@suse.com +- Update to version 0.7.3+14+suse.da06e7f3: + * libmultipath: fix return code of sysfs_get_timeout (bsc#1069037) +* Mon Nov 6 2017 mwilck@suse.com +- added sample code for libmpathpersist (bsc#1066376) + * added libmpathpersist-example.c +- multipath-tools.spec: package libmultipath.so symlink in -devel + package (bsc#1066376). We *do not* package header files for + libmultipath, as the APIs are not public. +* Fri Nov 3 2017 mwilck@suse.com +- multipath-tools.spec: package *.so symlinks in -devel pkgs + (bsc#1066376) +- multipath-tools.spec: SLE15: add RADOS support for s390x + (bsc#1066380) +- Fix build error for targets SLE_12, SLE_12_SP1 + (bsc#1066392) +* Thu Oct 26 2017 mwilck@suse.com +- Update to version 0.7.3+13+suse.db431514080f: + * kpartx: create symlinks for dmraid devices (bsc#1064212) + * limbultipath: prefer RDAC checker with detect_checker + (bsc#1055949) +* Tue Oct 17 2017 hare@suse.com +- Update to version 0.7.3+11+suse.4de08d96: + * libmultipath: condlog: log to stderr (bsc#1063059) +* Thu Sep 21 2017 mwilck@suse.com +- Update to version 0.7.3+10+suse.70ccb55b0439: +- Rebase to upstream release 0.7.3 + * libmultipath: add pthread_cleanup hook for udev monitor + * libmultipath: pull functions into util.c + * libmultipath: change reservation_key to a be64 + * libmpathpersist: fix update_prflag code + * multipath: add alternate reservation_key method + * mpathpersist: add support for prkeys file + * multipath-tools: minor edition and corrections in multipath.conf.5 + * multipath-tools: fix incorrect length for strncmp in uevent.c + * multipath-tools: clarify how to dump the multipathd config + * multipath-tools: replace "setting: array" with "setting: storage device" at multipath output + * libmultipath: sanitize fd handling + * multipath-tools: link internal libraries before foreigns + * multipath-tools: remove Sun StorEdge T4(6020,6120,6320) arrays from hwtable + * multipath-tools: add support for all arrays from Sun StorEdge 3000 family + * multipath-tools: add Xiotech iglu blaze arrays to hwtable + * multipath-tools: add Dot Hill/Seagate arrays to hwtable + * libmultipath: update INFINIDAT builtin config + * multipath-tools: add info about adding new hardware + * multipath-tools: Remove the limitation of IPC command reply length. + * multipath-tools: libdmmp: Improve timeout mechanism + * multipath-tools: libdmmp: New function to flush and reconfig + * Bump version to 0.7.3 +- minor fixes for upstream 0.7.3 + * libmultipath: ensure checker->fd == -1 if not set + * libmpathpersist: add support for prkeys file v3 + * multipath: add man page info for my prkey changes +- Patch series for NVMe discovery and failover (bsc#1038865) + * discovery: sanitize NVMe discovery + * libmultipath/discovery: modify NVMe path states + * Add 'none' checker + * hwtable: set 'none' as default checker for NVMe +* Mon Sep 18 2017 mwilck@suse.com +- Update to version 0.7.2+49+suse.993a29b1188d: + * Revert "11-dm-mpath.rules: Remember DM_ACTIVATION" (boo#1059227) + * Revert "11-dm-mpath.rules: don't set READY->ACTIVATION" + (boo#1059227) + * multipath: delegate using libmpathcmd (bsc#1047639) +* Mon Sep 18 2017 mwilck@suse.com +- split off rados support into separate multipath-tools-rbd package. + This avoids pulling in the whole rados/ibverbs/rdma stack with + multipath-tools. (bsc#1058504). +- multipath-tools-rbd is Recommended but not Required by multipath-tools. +* Sat Sep 2 2017 mwilck@suse.com +- Update to version 0.7.2+44.3a8d750c: + Misc bug fixes: + * multipathd: don't flood system with sd_notify calls (bsc#1056011) + * libmultipath: add_feature: skip pointless NULL check (bsc#1055635) + * libmultipath: add_feature: allow only 1 feature (bsc#1055635) + * multipath: delegate dangerous commands to multipathd (bsc#1047639) + * libmultipath: fix partition_delimiter config option (bsc#1056526) + * kpartx: helper functions for name and uuid generation (bsc#1056508) + * kpartx: search partitions by UUID, and rename (bsc#1056508) + * kpartx: fix a corner case when renaming partitions (bsc#1056508) + * kpartx: -d must work with empty partition table (boo#1056599) + * kpartx: only recognize dasd part table on DASD (boo#1056599) + Rework of the udev rules related to multipath and kpartx (bsc#1054363): + * libmultipath: support MPATH_UDEV_NO_PATHS_FLAG on map creation + * libmultipath: add get_udev_device + * libmultipath: get_refwwid: use get_udev_device + * libmultipath: use const char* in some dm helpers + * libmultipath: add DI_NOIO flag for pathinfo + * libmultipath: add dm_get_multipath + * multipath: implement "check usable paths" (-C/-U) + * 11-dm-mpath.rules: multipath -U for READY check + * 11-dm-mpath.rules: import more ID_FS_xxx vars from db + * 11-dm-mpath.rules: no need to test before IMPORT + * 11-dm-mpath.rules: handle new maps with READY==0 + * 11-dm-mpath.rules: don't set READY->ACTIVATION + * 11-dm-mpath.rules: Remember DM_ACTIVATION + * multipath.rules: set ID_FS_TYPE to "mpath_member" + * kpartx.rules: don't rely on DM_DEPS and DM_TABLE_STATE + * kpartx.rules: respect DM_UDEV_LOW_PRIORITY_FLAG + * kpartx.rules: improved logic for by-uuid and by-label links + * kpartx.rules: create by-partuuid and by-partlabel symlinks + * kpartx.rules: generate type-name links only for multipath devices + * kpartx.rules: fix logic for adding partitions + * multipath/kpartx rules: avoid superfluous scanning + * kpartx/del-part-nodes.rules: new udev file + * kpartx.rules: move symlink code to other files +- multipath-tools.spec: + * added 68-del-part-nodes.rules to support partition deletion + * added 00-dont-del-part-nodes.rules to disable partition deletion + by default on openSUSE/SLES for now. + * added 11-dm-parts.rules to kpartx package + * added dracut.conf file to make sure 11-dm-parts.rules is included + in initrd +* Mon Aug 14 2017 mwilck@suse.com +- Update to version 0.7.2+14+suse.5721c345: + * cli_add_map: Use CMD_NONE (bsc#1053515) + * multipath-tools: link internal libraries before foreigns + (bsc#1028132) + * multipathd daemon: Fix incorrect use of CLOCK_MONOTONIC in + pthread (bsc#1053757) +* Fri Aug 11 2017 mwilck@suse.com +- Update to version 0.7.2+11+suse.448921a2: + * multipath.conf.5: document no_partitions compat support + * libmultipath: fixup compat support for 'features "1 no_partitions"' +* Fri Aug 11 2017 mwilck@suse.com +- Dropped 67-kpartx-compat.rules (SUSE legacy). + * symlinks "/dev/mapper/${UUID}_part${X}" are not created any more, + only "/dev/mapper/${UUID}-part${X}" (with "minus") +- Dropped automatic kpartx invocation on dmraid devices (fate#323743) +- Rebase to upstream multipath-tools 0.7.2: + * libmultipath: retain_attached_hw_handler obsolete with 4.3+ + * multipath-tools: move up TEMPLATE in hwtable + * multipath-tools: delete libdmmp/docs/man directory in make clean + * libmultipath: fix unit to seconds in log message for checker timeout + * multipath-tools: add HPE StoreVirtual 3200 family to hwtable + * multipath-tools: add HPE MSA 2050/2052 to hwtable + * multipath-tools: add/change fujitsu arrays + * multipath-tools: check sysfs path state for NVMe/NVMf + * multipath-tools: sync third-party headers with 3.13 upstream + * multipath-tools: beautify path_latency.c code + * multipath-tools: fix format in multipath.conf.5 + * libmultipath: update 3PARdata builtin config + * Bump version to 0.7.2 +- Update to version 0.7.2+8+suse.95e8f43e: + * libmultipath: don't try to set hwhandler if it is retained + (bsc#1037533) + * libmultipath: don't [un]set queue_if_no_path after domap + * kpartx/devmapper.h: remove dm_no_partitions + * libmultipath: compat support for 'features "1 no_partitions"' + (fate#323406) + * kpartx.rules: respect DM_UDEV_LOW_PRIORITY_FLAG + (bsc#1047180) + * kpartx.rules: Use DM_ACTIVATION as condition (fate#323406) + * kpartx.rules: skip creating by-uuid and by-label links + (fate#32340) +* Thu Jul 20 2017 mwilck@suse.com +- Update to version 0.7.1+69+suse.3bfa5af1: + * Merge branch 'sles12-sp3-fixes' into sles12-sp3 + * libmultipath: get_udev_uid: make sure pp->wwid is 0-terminated + (bsc#1048146) + * libmultipath: drop uevent_can_discard_by_devpath (bsc#1048052) + * libmultipath: only listen for uevents with DEVTYPE=disk + (bsc#1048052) + * libmultipath: fix over-long NVME WWIDs + (bsc#1048146) +* Tue Jun 27 2017 mwilck@suse.com +- Update to version 0.7.1+64+suse.aabe8c87: + * Updated "no_path_retry" patchset to v4 (minor change) + * kpartx.rules: Fix syntax error in skip_kpartx code (bsc#1046092) +- _service: use "match-tag" to refer only to offical tags +* Wed Jun 21 2017 mwilck@suse.com +- Update to version 0.7.1+62+suse.62a2c36e: + * kpartx: only check for 'no_partitions' feature on dm devices + (bsc#1037533) + * Revert "kpartx: use mapname if no uuid is present" + (bsc#1037533, bsc#1033541) +- "no_path_retry" patch series (bsc#1043027) + * libmultipath: load_config: skip setting unnecessary defaults + * libmultipath: add/remove_feature: use const char* for feature + * libmultipath: clarify option conflicts for "features" + * libmultipath: merge_hwe: fix queue_if_no_path logic + * libmultipath: assemble_map: fix queue_if_no_path logic + * multipath.conf.5: document no_path_retry vs. queue_if_no_path + * multipath.conf.5: Remove ??? and other minor fixes + * libmultipath: add deprecated warning for some features settings +- _service: Use "sles12-sp3" branch as revision, as factory + and SLE12-SP3 submissions are in sync. Will be changed when + factory forks off (latest at SLE12-SP3 GA). +* Tue Jun 20 2017 bwiedemann@suse.com +- set KBUILD_BUILD_TIMESTAMP to generate reproducible man-pages + to fix build-compare (bsc#1045111) +* Wed Jun 14 2017 mwilck@suse.com +- Update to version 0.7.1+53+suse.07c2f6ac +- kpartx patch series from upstream (bsc#1037533, bsc#1033541) + * kpartx: only check for 'no_partitions' feature on dm devices + * kpartx: test-kpartx: new unit test program + * kpartx: remove is_loop_device + * kpartx: relax and improve UUID check in dm_compare_uuid + * kpartx: dm_remove_partmaps: support non-dm devices + * kpartx: dm_devn: return error for non-existent device + * kpartx: don't treat multi-linear mappings as partitions + * libmultipath: don't treat multi-linear mappings as partitions + * kpartx: use partition UUID for non-DM devices + * kpartx: use absolute path for regular files + * kpartx: find_loop_by_file: use sysfs + * kpartx: include sys/sysmacros.h + * Revert "kpartx: relax check when checking for a kpartx device" +- Spec file: use new build flag for libdmmp installation + (bsc#1036652), enabled by upstream fix: + * libdmmp: enable library installation in alternative directory +- Other bug fixes from upstream: + * libmultipath: print.c: make sure lines are 0-terminated (bsc#1038865) + * multipath-tools: fix compilation with gcc < 4.9 + * kpartx: fix device checks + * mpath_persist: Don't join threads that don't exist + * libmultipath: fix suspended devs from failed reloads + * mpathpersist: fix one more crash possiblity +- Minor upstream changes: + * multipath: Merge the DELL MD3xxx device configs + * multipath: fix up position independent code + * libmultipath: fix partition detection (bsc#1037533) + * kpartx: default to running in sync mode + * libmultipath: force udev reloads + * libmultipath: print alias with no_path_retry message + * multipathd: force reload device on all resizes + * libmultipath: refactor calls to get dm device info + * multipath-tools: document uid_attribute for NVME devices + * Makefile: Remove assignments to unused variables + * libmultipath/configure.h: Add a forward declaration + * libmpathpersist: Add two missing #include directives + * Remove mpath_reverse_8bytes_order() + * Move the declaration of mpath_mx_alloc_len to a header file + * Remove a superfluous "extern" keyword + * mpathpersist.8: add missing documentation for -K, -C, -l +* Thu Apr 27 2017 mwilck@suse.com +- spec file: Disable RADOS support for i586 on Leap 42.x (bsc#1036271) +- spec file: Move libdmmp to /usr/lib[64] (bsc#1036652) +- Update to version 0.7.1+7+suse.3edc5f7d: + * kpartx: use mapname if no uuid is present (bsc#1033541) + * kpartx: relax check when checking for a kpartx device (bsc#1033541) + * libmpathpersist: use extern struct udev (bsc#1027188) + * kpartx: include sys/sysmacros.h (fix compilation warning) +- Update to upstream version 0.7.1: + * multipath-tools: improve processing efficiency for addition and deletion of multipath devices + * uevent_can_discard: optimize devpath check + * multipathd: fix SIGUSR2 handling + * multipath-tools: clean up libdmmp/Makefile + * multipath-tools: libdmmp: Fix incorrect use of __attribute__ + * multipath-tools: Remove trailing whitespaces + * multipath-tools: add missing "-l" flag for pthread in libdmmp/Makefile + * multipath-tools: build objects for libdmmp and libmpathpersist independently + * libdmmp: minor Makefile cleanup + * multipath-tools: remove incdir from Makefiles + * libdmmp: don't disconnect from multipathd twice + * multipathd: don't call strlen on NULL variables + * libdmmp: move libdmmp.pc install location + * multipathd: drop lock before calling uev_add_path + * multipathd: allow devices to switch from RW to RO + * libmultipath: don't set max_sectors_kb on reloads + * Remove a trailing tab + * multipath: fix segfault with disable_changed_wwids + * multipath-tools: amend text from multipath/multipath.conf.5 + * Bump the version code and date + * multipath-tools: replace multipath configuration output + * Revert "multipathd: set timeout for CLI commands correctly" + * libmultipath: fix skip_kpartx support for removing maps + * Bump version to 0.7.1 +* Fri Mar 24 2017 mwilck@suse.com +- spec file changes suggested by factory review team (bsc#1030699) + * RPM group adjustments. + * Avoid %%__ macro indirections +* Thu Mar 23 2017 mwilck@suse.com +- Enable rados for SLES only for x86_64 and aarch64 (ceph is currently + disabled on SLES on s390x and ppc64le) (bsc#1030699) +- Downgrade to version 0.6.4+103+suse.bcb5d0f4: + * temporarily remove commit "multipathd: fix SIGUSR2 handling" + until it's merged in official repo (bsc#1030699) +* Tue Mar 21 2017 mwilck@suse.com +- Spec file: disable librados for architectures for which ceph + is not built +- Spec file: enable librados by default for SLES12 SP3, disable + it on Leap <= 42.1 +- Update to version 0.6.4+104+suse.ac0df678: + * multipathd: fix SIGUSR2 handling +* Fri Mar 10 2017 mwilck@suse.com +- Update to version 0.6.4+103+suse.bcb5d0f4: + * changed to official github repo openSUSE/multipath-tools + (no changes code-wise) +* Fri Mar 10 2017 mwilck@suse.com +- Spec file: Added dependency on sg3_utils (boo#1028857) +* Wed Mar 1 2017 mwilck@suse.com +- spec file changes: optional librados and libdmmp support + * enabled by default on Factory and Leap + (disable with --without-rados, --without-libdmmp) + * disabled by default on SLES12 + (enable with --with-rados, --with-libdmmp) + * libdmmp0_1_0 and libdmmp-devel as separate packages + * minor fixes for RPMLINT warnings +- Update to version 0.6.4+102.0119472d: + * rebased, code-wise identical to previous checkout +* Tue Feb 28 2017 mwilck@suse.com +- Update to version 0.6.4+102.df7d367e: + * libmultipath/propsel: Do not select sysfs prioritizer for RDAC arrays + (bsc#1004858) +* Tue Feb 28 2017 mwilck@suse.com +- Update to version 0.6.4+101.f01ef4da (SLES12 SP2 changes wrt upstream): + * Make libdmmp build optional + * multipath.rules: use -i flag to multipath + * kpartx: create symlinks for dmraid devices + * kpartx: Add udev compability rules for SUSE + * libmultipath/checkers: make RADOS checker optional + * multipathd: fixup check for new path states (bsc#1019798) + * tur: Add pthread_testcancel() (bsc#101979) + * kpartx: sanitize delete partitions (bsc#100869) + * libmultipath: coalesce_paths: trigger uevent if nothing done + (bsc#998906, bsc#998893, bsc#1005763, bsc#1011400) + * libmultipath: differentiate ACT_NOTHING and ACT_IMPOSSIBLE + (bsc#998906, bsc#998893, bsc#1005763, bsc#1011400) + * libmultipath: reload map if not known to udev + (bsc#998906, bsc#998893, bsc#1005763, bsc#1011400) + * libmultipath: sysfs_attr_set_value: use const char* + (bsc#998906, bsc#998893, bsc#1005763, bsc#1011400) + * libmultipath: select_action: check special features separately + (bsc#998906, bsc#998893, bsc#1005763, bsc#1011400) + * libmultipath: disassemble_map: treat aminio like assemble_map does + (bsc#998906, bsc#998893, bsc#1005763, bsc#1011400) + * libmultipath: disassemble_map: skip no_path_retry check + (bsc#998906, bsc#998893, bsc#1005763, bsc#1011400) + * libmultipath: setup_feature: handle "retain_attached_hw_handler" + (bsc#998906, bsc#998893, bsc#1005763, bsc#1011400) + * libmultipath: setup_feature: print log msg if no_path_retry cant be set + (bsc#998906, bsc#998893, bsc#1005763, bsc#1011400) + * libmultipath: setup_features: log msg if queue_if_no_path is ignored + (bsc#998906, bsc#998893, bsc#1005763, bsc#1011400) + * multipathd: use weaker "force_reload" at startup + (bsc#998906, bsc#998893, bsc#1005763, bsc#1011400) + * multipathd: imply -n if find_multipaths is set (bsc#1012910) + * multipath: ignore -i if find_multipaths is set (bsc#1012910) + * libmultipath: move suspend logic to _dm_flush_map (bsc#986838) + * multipath -ll: set DI_SERIAL (bsc#991432) + * libmultipath: use existing alias from bindings file (bsc#1005255) + * libmultipath/discovery: do not cache 'access_state' sysfs attribute (bsc#1004858) + * multipathd: issue systemd READY after initial configuration (bsc#1006469) + * multipath: avoid crash when using modified configuration (bsc#1000914) + * multipathd: Set CLI timeout correctly (bsc#999061) + * libmultipath: Do not crash on empty features (bsc#994812) + * libmultipath: fall back to search paths by devt (bsc#995645) + * multipathd: set timeout for CLI commands correctly (bsc#999061) + * Invalid error code when using multipathd CLI + * multipath: do not check daemon from udev rules (bsc#986734) + * Add support for "multipath=off" and "nompath" on kernel cmdline + * multipathd: start daemon after udev trigger (bsc#98673) + * multipathd.service: fixup Wants= and Before= statements (bsc#1019181, bsc#991742, bsc#986734) +- Update to current upstream (0.6.4-65-ga2675025) + * Avoid that reloading a map sporadically triggers I/O errors + * fix udev rules for failed multipath devices + * multipathd: allow resetting stats + * multipathd: add messages on delayed path addition + * multipathd: don't update priority of failed paths + * libmultipath: cleanup orphan device states + * libmultipath: add detect_checker option + * kpartx: don't keep creating recursive partitions + * multipath-tools: Introducing multipath C API + * multipath-tools: sync valgrind.h with 3.12 upstream + * multipath-tools: add availability of service-time and queue-length to multipath.conf.5 + * multipath-tools: add availability of service-time and queue-length to multipath.conf.5 + * Fill NVMe specific path info + * Don't blacklist nvme + * multipath-tools: fix misspellings + * multipath-tools: git should ignore rej and orig files + * Include sys/sysmacros.h + * Tolerate modprobe failures in multipathd.service + * multipath-tools: Remove trailing and leading whitespaces + * multipath-tools: Perform socket client uid check on IPC commands. + * multipath-tools: Set errno mpath_recv_reply() when failure + * multipath-tools: New way to limit the IPC command length. + * multipath-tools: libmultipath: Removed unused functions. + * multipath-tools: libmultipath: fix gcc link failure on rcu_register_thread_mb. + * multipath-tools: multipathd: Fix memory leak on load_config(). + * [multipathd] Remove trailing whitespaces + * multipathd: deterministic io throughput in multipath +* Sat Feb 18 2017 kukuk@suse.com +- Remove superfluous PreReq for insserv and fillup +* Thu Sep 29 2016 mwilck@suse.com +- Update to version 0.6.2+suse20160928.8939fb6 +* Thu Sep 29 2016 hare@suse.de +- Implement support for 'multipath=off' and 'nompath' + kernel commandline options (bsc#1001691) +* Wed Sep 28 2016 hare@suse.de +- multipath: avoid crash when using modified configuration + (bsc#1000914) +* Mon Sep 19 2016 hare@suse.de +- libmultipath: Do not crash on empty features (bsc#994812) +- multipathd: Set CLI timeout correctly (bsc#999061) +- Moved multipath-tools repository to + github.com:/openSUSE/multipath-tools.git +* Thu Sep 8 2016 hare@suse.de +- Fixup glitch from patch 'fixup check from udev rules' (bsc#986734) +- Remove 0001-libmultipath-fall-back-to-search-paths-by-devt.patch; + integrated into git repository +* Mon Aug 29 2016 jthumshirn@suse.com +- libmultipath: fall back to search paths by devt (bsc#995645) +* Fri Aug 26 2016 hare@suse.de +- Fixup module name in /usr/lib/modules-load.d (bsc#986734) +* Fri Aug 26 2016 hare@suse.de +- multipath: fixup check from udev rules (bsc#986734) +* Wed Aug 24 2016 hare@suse.de +- multipathd: start daemon after udev trigger (bsc#986734) +- Load device handler and multipath module at boot (bsc#991634) +* Fri Aug 19 2016 hare@suse.de +- Do not check daemon from udev rules (bsc#986734,bsc#990538) +* Fri Aug 5 2016 hare@suse.de +- Include fixes from upstream: + * memory leak in orphan_paths + * More hardware table cleanups + * Add 'serial' keyword to weightedpath prioritizer +- Set timeout for CLI commands correctly (bsc#990265) +- Start daemon after udev trigger (bsc#991742,bsc#986734,bsc#990538) +- multipathd.service: Fixup Wants= and Before= statements + (bsc#991742, bsc#986734) +* Thu Jul 28 2016 hare@suse.de +- Include patches from upstream: + * Cleanup hardware tables by removing default entries + * More formatting fixes + * Order keywords in multipath.conf.5 + * Change default pgpolicy from 'failover' to 'group_by_prio' + * kpartx: Fix check whether to detach a loop device + * Fix partly traversed loop in coalesce_paths() + * Fix memory leak in reconfigure() + * Cleanup include header files + * Bump version code to 0.6.2 +- Fix multipath -l without output (bsc#990480) +- Fix spelling in a log message +- Fix type of rcu_unregister() +- Do not perform POSIX mutex operations inside a signal handler +- Ensure that signals are delivered to the uxsock thread +- Fix memory leak in path group policies +- Update tarball to 0.6.2+suse20160728.d96f423 +* Fri Jul 15 2016 hare@suse.de +- Include patches from upstream: + * Makefile cleanup + * Update multipath.conf.5 + * Update hardware tables + * Whitespace cleanup +- Fixup crash during shutdown (bsc#988539) +- Update tarball to 0.6.1+suse20160715.3d44636 +* Mon Jul 4 2016 jengelh@inai.de +- Remove obsoletes spec sections +* Mon Jul 4 2016 hare@suse.de +- Move config accesses to use user-space RCU (bsc#987526) + * Revert 'move filter_devnode under vector lock' + * Revert the rework patch +- Include patches from upstream: + * Update hardware tables + * Update kpartx manpage + * Whitespace fixes + * Include coverity fixes + * Drop AUTHOR file +- Update tarball to 0.6.1+suse20160704.6e52398 +* Wed Jun 8 2016 lnussel@suse.de +- fix service file to not pretend that this is the upstream version. + Now labeled 0.6.1+suse20160603.9b920e3 +- Fix BuildRequire to get systemd.pc from correct package (bsc#983167) +- point rcmultipathd to /usr/sbin/service to avoid dangling symlink warning +* Fri Jun 3 2016 hare@suse.de +- Rework patch 'move filter_devnode under vector lock' + (bsc#982348) +* Mon May 30 2016 hare@suse.de +- multipathd: Fixup definition of set_unlocked_handler_callback() +- mpathcmd.h: Update Free Software Foundation address +* Fri May 27 2016 hare@suse.de +- Do not install header file with mode 755 +* Wed May 25 2016 hare@suse.de +- Update to latest upstream version 0.6.1 + * Merge suse-specific patches + * Drop multipath.conf.* files + * Update to version 0.6.1 + * multipathd: move 'filter_devnode' under vector lock + * libmultipath: use poll() in uevent_listen() + * Increase kpartx retries + * Merge Dell MD3XXX hardware table entries + * multipathd: Add 'sysfs' prioritizer (bsc#927040) + * libmultipath: call get_vpd_uid() if no uid_attribute is set + * multipathd: update defaults +* Fri May 6 2016 hare@suse.de +- Update to latest upstream version 0.6.0 (FATE#319406) + * Update documentation + * Fix memory leak and segfault in reconfigure + * Add wwn keyword to weightedpath prioritizer + * Use 64-bit int for command key + * check partions unused before removing + * print 'fail' when remove fails + * add exclusive_pref_bi for alua prioritizer + * kpartx: verify parition devices + * multipathd: delay reloads during creation + * Cut down alua prioritizer ioctls + * Add 'ignore_new_boot_devs' option + * Add libmpathcmd library and use it internally + * retrigger uevents to try and grab uid + * Update to version 0.6.0 +* Fri Apr 15 2016 hare@suse.de +- Port to latest upstream version (FATE#319406, FATE#320255) + * kpartx: support device names with spaces + * add raw format multipathd commands + * make kpartx -d remove all partitions + * Add find_multipaths option + * Autodetect ALUA CLARiiON configurations + * Delayed path reintegration + * enable configuration directory + * read-only bindings + * Add deferred_remove support + * correctly set partition delimiter on rename + * Add overrides section to multipath.conf + * Add additional path wildcards + * Add force_sync option + * Misc small patches +* Thu Mar 24 2016 hare@suse.de +- multipathd: do not flush maps on startup +- Use find_path_by_dev() where possible (bsc#924316) +- Fixup error return in store_path() (bsc#972329) +- Do not display message 'invalid fd' +* Tue Mar 8 2016 hare@suse.de +- Fixup overzealous warning 'empty device number' (bsc#969857) +* Wed Feb 17 2016 hare@suse.de +- multipathd: fixup signal handling (again) +- Revert 'trigger all devices on startup' +- multipathd: print error message for invalid arguments +- multipathd: block checkerloop during reconfiguration (bsc#946658) +- libmultipath: correctly initialize pp->sg_id +- multipathd: don't buffer output with systemd (bsc#954726) +- multipath.rules: Do not forward partition events (bsc#954726) +- libmultipath: improve uxlsnr handling (bsc#954726) +- multipathd: do not realloc memory in uxlsnr (bsc#954726) +- libmultipath: call get_uid() for all paths (bsc#935312) +- multipathd: Do not print misleading message 'not found in pathvec' +- multipathd: Do not update the paths vec when removing paths +- multipathd: Do not switch paths on empty multipath tables (bsc#956349) +- libmultipath: remove 'get_info' argument for adopt_paths() +- libmultipath: ensure 'dev_t' is set when store paths (bsc#924316) +- libmultipath: Do not store paths with empty dev_t (bsc#924316) +- libmultipath: Do not store paths with empty device name (bsc#924316) +- libmultipath: sysfs_set_rport_tmo still wrong (bsc#926588) +- Add LIO-ORG/SUSE RBD backend hardware defaults (bsc#947845) +- multipath: Reset alias if renaming fails (bsc#943157) +* Fri Nov 6 2015 hare@suse.de +- Fixes for md_monitor on zFCP (FATE#319070): + * strict loop timings + * multipathd: fixup a crash when invoking CLI commands + * multipathd: implement 'show map $map format $format +* Tue Aug 25 2015 hare@suse.de +- Fixup hang in 'multipath -f' (bsc#941954) +* Mon Aug 3 2015 hare@suse.de +- Create package for SLE12-SP1. + * Remove multipath-tools-0.5.0-sles12.diff.bz2 + * Add multipath-tools-0.5.0-sles12-sp1.diff.bz2 +- kpartx: parse emulated DASD devices +- multipathd: Fixup queueing mode in 'show maps status' (bsc#933885) +- multipathd: Accept zero-sized paths in ev_add_path +- Always set DM_UDEV_DISABLE_LIBRARY_FALLBACK (bsc#933282) +- libmultipath: Fixup 'DM_DEVICE_RELOAD' handling (bsc#933282) +- libmultipath: correctly display checker status +* Wed Apr 8 2015 hare@suse.de +- Remove 'udev_sync' argument from dm_simplecmd (bsc#903001) +- Ensure multipathd is started before systemd-udev-trigger +* Tue Apr 7 2015 hare@suse.de +- Only import ID_FS_XXX variables if not set (bsc#909358) +- Fixup regular expression for HP MSA 2040 (bsc#920189) +* Wed Mar 18 2015 hare@suse.de +- Add dependency on systemd-udevd.service (bsc#903001) +- Use ALUA for HP 3PAR (bsc#922105) +- Add DX8700 S3 and DX8900 S3 defaults (bsc#921703) +- Load all device handler modules on startup (bsc#908529) +* Fri Mar 13 2015 hare@suse.de +- libmultipath: make vpd page 0x80 optional (bsc#917963) +- Add HP MSA 2040 to the hardware table (bsc#920189) +- Revert 'Skip unhandled device types' (bsc#917701) +* Thu Jan 29 2015 hare@suse.de +- skip uninitialized devices during reconfiguration (bnc#908915) +- memory overflow when printing help text (bnc#909742) +* Tue Dec 16 2014 hare@suse.de +- Do not automatically fall back to vpd uid generation +- Improve vpd parsing +- multipathd: trigger all devices on startup (bnc#901465) +- Unset 'uid_attribute' on failure +* Wed Dec 10 2014 hare@suse.de +- libmultipath: Fall back to SG_IO if no UID could be assigned + (bnc#908915) +- Assign local priority for NAA VPD descriptor (bnc#907483) +- libmultipath: finally fix dev_loss_tmo setting (bnc#889927) +- libmultipath: Do not use 'sscanf' for parsing integers (bnc#889927) +- devmapper: do not flush I/O for DM_DEVICE_CREATE (bnc#901809) +- kpartx: handle more than 256 loop devices (bnc#898427) +- multipathd: fixup locking in uev_remove_map() (bnc#901891) +- multipathd: use global variable for uxsock timeout (bnc#900758) +- multipathd: remove unused variable in cli_reconfigure() +- Add %%service calls for multipathd.socket +* Mon Sep 22 2014 hare@suse.de +- Really fix segfault in recv_packet (bnc#896678) +- Allow empty revision during discovery (bnc#896864) +* Wed Sep 17 2014 hare@suse.de +- Fix segfault in recv_packet (bnc#896678) +* Wed Sep 3 2014 hare@suse.de +- Fixup segfault due to double unlock +- Skip USB devices during discovery (bnc#865577) +- Ignore devices when sysfs_get_tgt_nodename fails (bnc#865577) +- Use sysfs attribute vpd_pg80 to read serial number +* Wed Sep 3 2014 hare@suse.de +- Create rcmultipathd links (bnc#894513) +- multipathd: fix segfault in checkerloop() (bnc#894513) +- Use regenerate_posttrans rpm macros (bnc#892181) +* Tue Sep 2 2014 trenn@suse.de +- Do not call mkinitrd in rpm macros directly, make use of + %%{?regenerate_initrd_posttrans} and %%{?regenerate_initrd_post} + instead to avoid rebuilding of initrd for each package that + needs initrd recreation. Only update initrd once per install/update + if needed +* Fri Aug 29 2014 hare@suse.de +- Fixup segfault during uev_path_add() (bnc#892214) +* Thu Aug 21 2014 hare@suse.de +- Revert to ACT_RELOAD in domap() if the map exists +- multipathd: asynchronous configuration (bnc#891189) +- multipathd: timeout CLI commands when waiting for lock + (bnc#891189) +- Remove dm_udev_XXX wrapper functions +- uxlsnr: use typedef for trigger function +- multipathd: lock cli client list +- multipathd: Use standard lists for CLI handling +* Tue Aug 19 2014 hare@suse.de +- Use strlen() when checking for valid wwid +- kpartx: zero out cookie (bnc#890902) +- multipathd: Check for empty wwid when processing events + (bnc#892214) +* Mon Aug 18 2014 hare@suse.de +- Fixup device-mapper cookie handling yet again (bnc#890902) +- Allow zero-sized devices during configuration +- multipathd: issue warning on CLI command timeout (bnc#891189) +* Wed Aug 13 2014 hare@suse.de +- Do not remove paths without uevent (bnc#890998) +* Tue Aug 12 2014 hare@suse.de +- Fixup structure misalignment in config.h (bnc#890747) +- Do not print empty multipaths section +- Fixup 'uxsock_timeout' handling +- Reload map if reinstate failed (bnc#890854) +* Mon Aug 11 2014 hare@suse.de +- Close memory leak in print_multipath_topology +- Implement 'uxsock_timeout' keyword (bnc#890551) +- Return error when receiving CLI packet (bnc#890551) +- multipath: do not print state 'orphan' for option '-l' (bnc#890551) +- Fix race conditions during uevent processing (bnc#890994) +* Tue Aug 5 2014 hare@suse.de +- Skip unhandled device types (bnc#881125) +- use 'uid_attribute' per default when generating WWID (bnc#881125) +- Use a default dev_loss_tmo of 600 (bnc#889927) +- Fixup device-mapper 'cookie' handling (bnc#886743) +- Remove last argument from verify_paths() +- Add paths with a size of '0' as 'ghost' paths +- Remove sysfs_get_dev() +- Use glibc 'major' and 'minor' macros +- Whitespace cleanup in mpath_persist +* Mon Jul 28 2014 hare@suse.de +- Fixup wrong check for errno in uevent_listen() + (bnc#889165) +- Terminate uevent listener on ppoll() error (bnc#889165) +* Fri Jul 25 2014 hare@suse.de +- Patches from upstream: + * enable gcc format-security check + * Accept "*" as a valid regular expression + * check info.exists to get valid value + * Don't forget to reload table when both reload and rename + is required + * libmultipath: Simplify read_line() + * libmultipath: Zero-terminate sysfs_attr_get_value() result + * libmultipath: Print line number for which parsing failed + * libmultipath: Accept "*" as a valid regular expression + * multipath: Wrong sysfs attribute used for iSCSI settings + (bnc#883808) +- Check for valid DM_DEVICE_INFO before proceeding + (bnc#888453) +- Scalability fixes (bnc#880356): + * Separate out uevent parsing functions + * Use poll() when receiving uevents + * multipathd: push down lock in checkerloop() + * Allow specific CLI commands to run unlocked + * Push down vector lock during uevent processing +* Wed Jul 23 2014 hare@suse.de +- recovery_tmo for iSCSI sessions not updated (bnc#883808) +- Only filter for udev property if uid_attribute is present +- Read wwid from sysfs vpg_pg83 attribute +- Update multipath.conf.5 to clarify wwid generation +- kpartx: Fixup persistent name generation (bnc#887582) +- Revert 'return PATH_DOWN for quiesced paths' +- Do not treat 'transport-offline' paths as 'offline' (bnc#888378) +* Wed Jul 9 2014 hare@suse.de +- multipath: Check for running daemon when called with '-u' + (bnc#886154) +* Fri Jul 4 2014 hare@suse.de +- multipath: use option '-i' when called from udev (bnc#885628) +- multipath: add option '-i' to ignore wwids file (bnc#885628) +- Update hwtable for EMC XtremIO (bnc#880510) +- Remove unused variable 'aas' from alua prioritzer +- Patches from upstream: + * Add multipath.conf force_sync option + * make prioritizers use checker_timeout, if set + * Improve multipath.conf syntax checking + * orphan paths on failed add + * Add missing interactive commands to multipathd man page + * Make multipathd orphan paths that were removed externally + * allow users to add wwids to /etc/multipath/wwids with -a + * change conf->dry_run to conf->cmd + * Return the correct size buffer in set_value() + * Fix memory issues in path reordering failure code paths +* Tue Jun 24 2014 hare@suse.de +- Fixup race condition with udev (bnc#883878) +- Cleanup foreground operation handling in multipathd +- Fix some minor issues in path reordering code (bnc#870465) +- Patches from upstream: + * Use existing user friendly names if possible + * kpartx: fix extended partition size for >512b sectors + * Mismatch between allocation length and transfer length in + rdac prio + * Mismatch between allocation length and transfer length in + emc_clariion prio. +* Fri Jun 13 2014 hare@suse.de +- 11-dm-mpath.rules: Import blkid values if all paths are down + (bnc#875233) +- kpartx.rules: Skip kpartx for multipath events (bnc#875233) +* Tue May 20 2014 hare@suse.de +- Fix race condition with systemd (bnc#878809) +* Fri May 16 2014 hare@suse.de +- Fix segfault when fast_io_fail_tmo is empty in config file +- Crafted ordering of child paths for round robin path selector + (bnc#870465) +- multipath: enable sync support (bnc#872297) +- Whitelist devices in multipath.rules (bnc#877281) +* Fri Apr 11 2014 hare@suse.de +- Install multipath rule under 56-multipath.rules (bnc#873151) +- Implement option '-u' for uevents (bnc#873151) +- Remove trailing linefeed from sysfs attributes +- Make checker_put() and prio_put() idempotent +- Implement 'list path' CLI command +- Disable reassign maps per default +- Allow for NULL path when printing information +- Fixup wwid blacklist printing +- Use SCSI_IDENT_.* as the default property whitelist (bnc#872929) +- Do not call 'blkid' in kpartx.rules +- Allow empty wwids during discovery (bnc#872712) +- Always set verbosity to '0' when checking devices (bnc#867840) +- Fixup multipath rules for booting (bnc#870764) +- Fixup dependencies in multipathd.service (bnc#872712) +- Do not print empty device strings during discovery (bnc#872712) +- Use multipath wwid if path wwid is empty (bnc#872712) +- Set the correct PID when running in debug mode +* Fri Mar 21 2014 hare@suse.de +- Fixup ordering cycle with systemd (bnc#863218) +- Rebase git repository to match with upstream +- Revert 'display uevent sequence number'; not required anymore +* Wed Mar 12 2014 ro@suse.de +- downgrade device-mapper requirement to 1.2.78 until 1.2.82 + is available anywhere +* Wed Mar 12 2014 hare@suse.de +- Update FSF address +- Add 11-dm-mpath.rules (bnc#867968) +- Link against libsystemd instead of libsystemd-daemon +* Fri Feb 28 2014 hare@suse.de +- Fixup spec file to correct rules permissions +* Fri Feb 28 2014 hare@suse.de +- Fixup 40-multipath.rules installation +* Wed Feb 26 2014 hare@suse.de +- Add 40-multipath.rules for dracut support +* Fri Feb 14 2014 hare@suse.de +- Install kpartx rules with correct prefix for dracut +- filter for missing property in get_refwwid() (bnc#862250) +- Double uevent stacksize yet again (bnc#855379) +- do not fail discovery on individual devices (bnc#860850) +- Prefer deprecated 'getuid' callout (bnc#861534) +- Skip paths with empty wwid (bnc#861534) +- correctly terminate string in strlcpy() (bnc#861534) +- Don't chop const strings +- Fixup typo in Makefile +- display uevent sequence number on 'show daemon' +* Tue Jan 21 2014 hare@suse.de +- Fixup build issues +* Tue Jan 21 2014 hare@suse.de +- Update to official version 0.5.0 + - remove: multipath-tools-0.4.9.tar.bz2 + - remove: multipath-tools-0.4.9-opensuse-12.3.diff.bz2 + - add: multipath-tools-0.5.0.tar.bz2 + - add: multipath-tools-0.5.0-sles12.diff.bz2 +- Merge: + - multipath-tools-make-flexible-install-of-systemd-and-udev-files.patch +* Tue Apr 16 2013 idonmez@suse.com +- Add Source URL, see https://en.opensuse.org/SourceUrls + - use %%setup -c to support the tarball +* Fri Feb 15 2013 cfarrell@suse.com +- license update: GPL-2.0 + Substantial number of GPL-2.0 files in the package +* Fri Feb 15 2013 rmilasan@suse.com +- Make installation of systemd unit and udev files more flexible. + add: multipath-tools-make-flexible-install-of-systemd-and-udev-files.patch +* Fri Feb 1 2013 hare@suse.de +- Update to latest mainline git version +- Merge systemd fixes +- Generate persistent device names for kpartx (bnc#799274) +* Sun Aug 26 2012 crrodriguez@opensuse.org +- Systemd: use default service type instead of forking +- Systemd: fix spec pre/post scripts. +* Tue Jul 17 2012 rmilasan@suse.com +- Drop patch 0001-multipath.rules.patch, multipath not ready yet. +* Tue Jul 17 2012 rmilasan@suse.com +- Fix the installation of multipath.rules file. +* Mon Jun 11 2012 rmilasan@suse.com +- Drop RUN+="socket:..." and update the multipath.rule like Fedora + does. +* Wed May 30 2012 hare@suse.de +- Update to version 0.4.9 +- Merge in latest changes from mainline +* Fri Apr 20 2012 rmilasan@suse.com +- Run update of initrd at %%post and %%postun. + We need this to make sure initrd reflects the updates. +* Fri Sep 30 2011 uli@suse.com +- cross-build fix: use %%__cc macro +* Fri May 27 2011 lnussel@suse.de +- don't hard require boot.device-mapper in boot.multipath. dm-mod is + autoloaded when accessing /dev/mapper/control anyways. +* Mon Apr 4 2011 crrodriguez@opensuse.org +- fix build fail with AS_NEEDED by default +* Fri Nov 26 2010 meissner@suse.de +- updated one more dm_simplecmd caller with &cookie. +- bumped 1 character buffer to 1 byte more for leading \0 +* Tue Jul 6 2010 hare@suse.de +- Merge with fixes from mainline. +* Wed Jun 30 2010 jengelh@medozas.de +- fix compilation on bi-arch by specifying LIB=%%_lib + (Makefiles would erroneously assume a 64-bit target just by the + sheer presence of lib64, which is wrong) +- always add in -D_GNU_SOURCE to get at struct ucred +* Wed Jun 23 2010 hare@suse.de +- Increase initial timeout for 'tur' checker (bnc#616694) +* Fri Jun 18 2010 hare@suse.de +- Set geometry information for multipath maps (bnc#613363) +- Reset 'running' parameter for directio (bnc#600043) +- Add fallback to init script for older versions (bnc#602957) +* Fri Jun 4 2010 hare@suse.de +- Add HP 2000 to internal hardware table (bnc#603359) +- Make path state messages unique +- Add 'reassign_maps' configuration parameter +- Profiling fixes: + * Update 'max_fds' handling + * Use strcmp() instead of strcmp_chomp() + * Simplify sysfs_get_device() + * Remove duplicate calls to path_offline() + * Simplify dm_get_name() + * Fixup devt2devname() + * Rework dm_reassign() +- check argument length in execute_program(bnc#610914) +- Do not use LOG_CONS when opening syslog (bnc#610914) +- Remove pid file usage from init scripts (bnc#600412) +- Fixup boot.multipath init script (bnc#600412) +* Wed May 12 2010 hare@suse.de +- Always provide symlinks for udev (bnc#603785) +* Thu May 6 2010 hare@suse.de +- Use minor number in ev_remove_map() (bnc#599770) +- signal_waiter() overwrites structure (bnc#591399) +- Serialize startup on large machines (bnc#598697) +- Update multipath(8) manpage for '-p' (bnc#602970) +- Mark 'readsector0' checker as deprecated (bnc#589340) +* Mon Apr 26 2010 hare@suse.de +- Errorneous message 'error starting uevent listener' +- Graceful shutdown of logging thread (bnc#591399) +* Mon Apr 26 2010 hare@suse.de +- Missing '-p' option for mkdir in mkinitrd script (bnc#597786) +- rdac message not printed correctly (bnc#598302) +- Use alias when printing log messages (bnc#598302) +- valgrind fixes (bnc#591399) +- Use VECTOR_SIZE() defines +- Update hwtable factorization +- Use log_close() on shutdown +- Use refcounting for checkers (bnc#591399) +- More valgrind fixes +* Tue Apr 20 2010 hare@suse.de +- Provide correct persistent symlinks for user_friendly_names + (bnc#596301) +- Fixup hardware table for LSI arrays (bnc#597713) +- Reassign maps during startup (bnc#586834) +- Update manpage +* Tue Apr 20 2010 mmarek@suse.cz +- Use mkdir -p in mkinitrd setup script (bnc#597786). +* Fri Apr 9 2010 hare@suse.de +- Remove 'minor' argument from add_map_without_path +- Check for correct device-mapper device in uevent handler +- Start uevent service handler from main thread +- Do not reassign multipath maps (bnc#594341) +- Protect waiter structure by mutex (bnc#581200) +- Log directly to syslog on shutdown (bnc#581200) +- Clear up uevent queue on shutdown +- Add more IBM/FAStT arrays (bnc#578738) +* Mon Mar 29 2010 hare@suse.de +- Display average priority as group priority (bnc#588591) +- Implement 'wait event' cli command (bnc#586834) +- Reset existing maps (bnc#577894) +* Mon Mar 15 2010 hare@suse.de +- Setup 'checkint' when loading config file (bnc#586847) +* Wed Mar 10 2010 hare@suse.de +- Fix typo in persistent rules for by-label/by-uuid +- Update debug string in verify_paths() +- Evaluate feature setting in verify_paths() (bnc#584197) +* Fri Mar 5 2010 hare@suse.de +- Fixup 'async_timeout' initialization again (bnc#580413) +* Fri Feb 26 2010 coolo@novell.com +- fix buffer overflow in strncat +* Mon Feb 22 2010 hare@suse.de +- 'reset log' cli command crashes daemon (bnc#577889) +- Initialize 'async_timeout' variable correctly (bnc#580413) +* Thu Feb 4 2010 hare@suse.de +- Add hardware defaults for EMC Invista (bnc#573870) +- Use '--replace-whitespace' for scsi_id (bnc#572209) +- Asynchronous mode for tur checker (bnc#552688) +- Update queue_if_no_path after sync with kernel state + (bnc#570932) +- Add 'max_polling_interval' config variable (bnc#570932) +- Add 'async_timeout' configuration variable (bnc#570932) +- Use default scsi_id callout for EMC Symmetrix (bnc#528481) +- Update path_offline() to return device status +- Update filename in init script +- Fixes from upstream: + * do not allow 0 size for multipath devices + * Add nexenta comstart hardware defaults + * Add checks for conf->xxx + * Add %%z wildcard to display path serial + * don't pretend config file has setup parameters + * documentation fixes +* Mon Jan 25 2010 hare@suse.de +- Fixup kpartx initrd script to handle loop devices (bnc#523749) +- Switch off 'queue_if_no_path' before removing maps (bnc#475523) +- Update logical partition handling (bnc#551827) +* Fri Jan 22 2010 hare@suse.de +- Fix mkinitrd scripts for 64bit (bnc572143) +- Remove logical partitions maps with 'multipath -f' +* Fri Jan 22 2010 ro@suse.de +- testing for existence of /lib64 is not sufficient to find out + if we are building for a lib64 platform +* Mon Jan 11 2010 hare@suse.de +- Update dev_loss_tmo for no_path_retry (bnc#492469) +* Tue Nov 17 2009 hare@suse.de +- Merge in changes from OpenSUSE 11.2 +- Update 'no_path_retry' correctly for failed paths (bnc#534666) +- Update no_path_retry setting when evaluating features (bnc#542145) +- directio: block count calculation wrong (bnc#549028) +- multipath segfaults if configuration file contains errors + (bnc#540118) +* Thu Oct 22 2009 hare@suse.de +- Make 'param' local (bnc#548708) +- Include multipath-fix.patch in git tree. +* Mon Sep 28 2009 hare@suse.de +- Fixup strip whitespaces from getuid output (bnc#542085) +- Change prefix for DASD devices to 'ccw' +- Update no_path_retry setting when evaluating features (bnc#542145) +* Wed Sep 16 2009 hare@suse.de +- Update features when queue_if_no_path is set (bnc#511607) +- Ignore error messages when multipathd is not started +- Add debugging output for feature changes +- Add generic LSI/Engenio controller (bnc#508030) +- Update 'no_path_retry' correctly for failed paths (bnc#534666) +- TUR checker should not return 'failed' for reservation conflict + (bnc#498413) +* Tue Sep 8 2009 aj@suse.de +- Fix last patch, one caller of dm_simplecmd was not updated + (multipath-fix.patch). +* Fri Aug 21 2009 hare@suse.de +- Update to latest upstream git version +- Merge in SLES11 fixes +- Build package from git tree +- Implement '-u' option for kpartx (bnc#517442) +* Mon Jul 13 2009 hare@suse.de +- Check for errors in pthread_create() +- Lock vectors during shutdown +- Cleanup various MALLOC/REALLOC callers +- Fix multipathd crash on shutdown +- Do not run kpartx on dm-uevent messages (bnc#473352) +- Set pthread stacksize correctly (bnc#485287) +- Add STK arrays to internal hardware table (bnc#503855) +- Correct persistent symlink for cciss (bnc#497997) +- Backport some fixes from upstream (bnc#445023) +- Add 'reset log' cli command +- no_path_retry causes I/O to fail (bnc#485281) +- Terminate uevent service queue +- Wait for daemon to shutdown (bnc#481389) +- Update cli request processing +- Safe memory allocation in cli_handlers +- Use 'LOG_CONS' option for openlog() +- Remove sysfs attribute cache +- Add 'shutdown' cli command +- Display FC error messages correctly +- Wait for devices in init script (bnc#487586) +- Always synchronize with dm state (bnc#447887) +- Add 'aas' path prioritizer (bnc#472069) +- Synchronize daemon startup with init file (bnc#481389) +- Merge feature string in assemble_map (bnc#507793) + - ------------------------------------------------------------------ +* Fri Jun 19 2009 coolo@novell.com +- disable as-needed for this package as it fails to build with it +* Fri Mar 20 2009 hare@suse.de +- Reset checker message for blocked checkers +- Increase priority for EMC Clariion arrays (bnc#484529) +- Start waiter threads for single paths correctly (bnc#473841) +- Use pthread_sigmask in alias.c when called from daemon. +* Thu Mar 19 2009 hare@suse.de +- Add %%pre and %%post scripts to stop multipathd during update +- Don't set FC parameter on non-SCSI devices +- multipath -t crashes with invalid configuration file +* Fri Mar 13 2009 hare@suse.de +- Don't remove partition mappings on stop (bnc#468826) +- Set stacksize for log thread +- Terminate all I/O before flushing maps (bnc#475523) +- Select 'features' keyword from multipath setting (bnc#465009) +* Tue Mar 10 2009 hare@suse.de +- Use lists for uevent processing (bnc#478874) +- Set stacksize of uevent handling thread (bnc#478874) +- Increase uevent buffer size +- Strip trailing blanks from wwid +- Stack overflow in uev_trigger (bnc#476540) +* Thu Feb 26 2009 hare@suse.de +- Fixup multibus zero path handling (bnc#476330) +- Update checker handling for blocked devices +- Only pass block events to multipathd +- Clean up uevent processing (bnc#478874) +- Set stacksize correctly for event processing thread (bnc#478874) +* Mon Feb 23 2009 hare@suse.de +- Remove stray umask() call (bnc#458598) +- Don't call kpartx if no paths are active (bnc#473352) +* Thu Feb 19 2009 hare@suse.de +- Multipathd dies immediately after startup (bnc#473029) +- Return ghost state if port is in standby (bnc#475816) +- Switch off queue_if_no_path before removing paths (bnc#475523) +* Mon Feb 9 2009 hare@suse.de +- Fix leastpending loadbalancer output (bnc#444199) +- Start waitevent checker on new paths (bnc#473841) +- Use 'noflush' for kpartx (bnc#473352) +* Fri Feb 6 2009 hare@suse.de +- Display multipath output for leastpending loadbalancer + properly (bnc#444199) +* Wed Feb 4 2009 hare@suse.de +- Set queue_if_no_path setting during map reload (bnc#472253) +- Remove obsolete 'umount map' uevent handling +- Retry TUR on driver errors (bnc#456961) +* Tue Feb 3 2009 hare@suse.de +- Copy persistent bindings file into initramfs (bnc#468804) +- Invert DM_STATE check for kpartx rules (bnc#440959) +* Mon Feb 2 2009 hare@suse.de +- Correct dbg_malloc() definition +- Fix more memory leaks +- Double free on path release (bnc#458393) +* Mon Jan 26 2009 hare@suse.de +- Don't access blocked devices in checkerloop() +- Check for validity in VECTOR_XXX defines (bnc#469269,bnc#457465) +* Fri Jan 23 2009 hare@suse.de +- Update dev_loss_tmo handling (bnc#458393) +- Fix directio error messages +- Update sdev_state handling +* Mon Jan 19 2009 hare@suse.de +- Add new HP machines to hardware table (bnc#442133) +- Print device-mapper tables for debugging +- Properly quote variables in mkinitrd scripts (bnc#447966) +- shuffle call to memarea_init +- Add xdr_setsite in init scripts (bnc#459529) +* Tue Jan 13 2009 hare@suse.de +- Do not run checkers or prioritizers on blocked devices + (bnc#464155) +- Implement dev_loss_tmo and fast_io_fail_tmo (bnc#464155) +- Use default values for dev_loss_tmo and fast_io_fail_tmo +- Display checker and prio name on failure +- Add more debugging output +* Mon Jan 12 2009 hare@suse.de +- Set max_fds setting for multipath (bnc#457443) +- Enhance error messages for checker and prio loading (bnc#456214) +- Fix merge errors for prio_weightedpath (bnc#441007) +- Fix sysfs_attr_get_value (bnc#456747) +- Do not reinitialize prio and checker lists after config file + has been parsed (bnc#464373) +- Minor cleanups +* Thu Dec 4 2008 hare@suse.de +- Split off IBM ESS hwtable entries (bnc#439763) +- Reload map when device R/O setting changes (bnc#440959) +* Fri Nov 21 2008 hare@suse.de +- Add 'Weighted Paths' prioritizer (bnc#441007) +- Fix crashes in update_multipath +* Thu Nov 20 2008 hare@suse.de +- Valgrind fixes + * Add missing initialisation + * Always allocate memory for alias + * Check return value of basename +- Adapt to new sysfs layout (bnc#435215, bnc#445041) +- Use /sys/dev to speedup reverse lookups +- Rework sysfs device handling (bnc#435215, bnc#438031) +- Search for correct hardware entry during reconfigure (bnc#435688) +- Use local variables for device mapper params +- Allow zero paths for multipath maps +* Mon Nov 17 2008 hare@suse.de +- Update HP hardware table (bnc#442133) +- Zero out lines in print.c (bnc#445023) +* Mon Nov 10 2008 hare@suse.de +- Check for empty mpvecs in mpvec_garbage_collector() (bnc#437245) +- dmraid uuid starts with 'DMRAID' (bnc#439439) +- Handle arguments to multipathd from the init file +* Thu Nov 6 2008 ro@suse.de +- commenting multiline rpm macros is dangerous (read broken) + remove percent sign in commented macro lines +* Mon Nov 3 2008 hare@suse.de +- Use pthread_join() during shutdown to avoid crash (bnc#437245) +- Fixup '%%n' to handle '!' kernel device name syntax (bnc#435172) +- Use correct commandline for cciss scsi_id callouts (bnc#435172) +- Do not check for valid mp context in get_state() (bnc#433659) +- Link directio checker against libaio (bnc#433659) +- Use regmatch when checking for duplicates in hwtable (bnc#439763) +* Mon Oct 27 2008 hare@suse.de +- Patches from mainline: + * Increase bindings file lock timeout + * Fixes for 'show paths format' + * Add 'show wildcards' cli cmd + * Add support for IBM storage devices +- fopen() returns NULL on failure (bnc#432598) +- Read verbosity level from configuration file (bnc#388284) +- kpartx -l does not remove it's loop device (bnc#417266) +- Missing fixes for libprio ontap.c (bnc#426975) +- Increase buffer size in find_loop_by_file (bnc#436428) +- Include SCSI device handler modules for initrd (bnc#431877) +* Fri Sep 26 2008 hare@suse.de +- Implement map resize (FATE#302007) +- Handle cciss devices correctly (bnc#419123) +* Wed Sep 24 2008 ro@suse.de +- use udevadm info instead of udevinfo +* Wed Sep 3 2008 hare@suse.de +- Merge in fixes from upstream: + * Add IBM IPR to hardware table (bnc#419086) + * Add IBM DS4300 to hardware table + * Fix settings for scsi_id changes +- Call mkinitrd_setup during %%post and %%postun (bnc#413709) +* Thu Aug 28 2008 ro@suse.de +- fix init scripts +* Wed Jul 23 2008 hare@suse.de +- Update to version 0.4.8 +- Include changes from SLES10 +- Include mkinitrd scriptlets +* Wed May 28 2008 hare@suse.de +- Calculate correct partition offset in kpartx (bnc#394658) +* Fri May 9 2008 hare@suse.de +- Fixup kpartx rules (bnc#387667) +* Tue Apr 29 2008 hare@suse.de +- Merge in fixes from upstream +- Merge fixes from SLES10 SP2 +* Wed Sep 19 2007 hare@suse.de +- Fixup generated dm_linear udev rules (#218122) +* Thu Aug 30 2007 hare@suse.de +- Rework dm_linear; udev rules should only be + created if the feature was activated (#302422) +* Fri Aug 10 2007 hare@suse.de +- Implement dm_linear (#218122) +* Thu Aug 2 2007 hare@suse.de +- Merge in latest fixes from upstream +- Remove local patches; merge with upstream +- Fix kpartx handling of extended partitions +- Use underscores for partition names (#293792) +* Mon May 21 2007 hare@suse.de +- Rework udev handling +- Split off kpartx package +* Mon May 14 2007 hare@suse.de +- Merge in latest fixes from upstream +- Add all SuSE specific files to git repository. +* Fri May 11 2007 hare@suse.de +- Include latest changes from upstream +- Remove libsysfs (242766) +- Handle extended partitions for kpartx +* Mon Dec 4 2006 dmueller@suse.de +- don't build as root +* Fri Nov 17 2006 hare@suse.de +- integrate upstream fixes +- update udev rule for YaST2 dmraid support (217807]) +* Mon Nov 6 2006 hare@suse.de +- Really fixup udev rule (216167). +* Fri Oct 20 2006 ro@suse.de +- make it build +* Mon Sep 25 2006 hare@suse.de +- update to latest fixes from git tree +- remove fixes integrated in upstream +- fixup udev rule (#203688) +* Wed Sep 13 2006 ro@suse.de +- use device-mapper-devel in BuildRequires +* Thu Aug 31 2006 hare@suse.de +- include latest fixes from git tree +- update kpartx_id and udev rules to work + with dmraid. +- Fix return value for multipath -l +* Thu Aug 17 2006 ro@suse.de +- workaround problem in git-patch + normal patch can't do a "rename", so copy file first +* Tue Jul 11 2006 hare@suse.de +- Update to official version 0.4.7 +- Refactor git update to apply to 0.4.7 +* Wed Jun 28 2006 hare@suse.de +- Remove blacklisting of dasd device node, + use product_blacklist instead (#188688) +* Mon Jun 12 2006 hare@suse.de +- Add 72-multipath-compat.rules to create 'by-name' + symlink again for compability (#183663) +* Fri Jun 2 2006 hare@suse.de +- Merge in fixed from upstream + - Set device-mapper name correctly (#181127) +* Thu Jun 1 2006 hare@suse.de +- Merge in fixes from upstream + - Fixup aliasing handling + - Fix string length in pp_alua +- Use correct regexp patterns for hwtable (#177842) +- Fixup 71-multipath.rules to work correctly with the + updated device-mapper online/offline events (#176516 - LTC23961) +- Add kpartx_id for the updated 71-multipath.rules +* Mon May 22 2006 schwab@suse.de +- Don't strip binaries. +* Tue May 2 2006 hare@suse.de +- Merge in fixes from upstream + - Merged local patches + - Added hds_modular prioritizer +- Remove merged patches +- Allow for setting of maximum number of open files (#149979) +- Implement 'stop' for init scripts +* Mon Apr 10 2006 hare@suse.de +- Lowering priority for pp_tpc +- Split off DS6000 to fixup priority handler (#161347) +* Wed Apr 5 2006 hare@suse.de +- Disable debug messages in pp_tpc. +* Wed Mar 29 2006 hare@suse.de +- Explicitely create partitions at boot time (#159927) +* Thu Mar 23 2006 hare@suse.de +- Add hwtable entry for IBM 3526. +* Tue Mar 14 2006 hare@suse.de +- Fix another typo in mpath_id. +* Tue Mar 14 2006 hare@suse.de +- Fix typo in mpath_id. +* Mon Mar 13 2006 hare@suse.de +- Fix autobuild warnings. +- Include some minor fixed from upstream. +* Thu Mar 9 2006 hare@suse.de +- Add mpath_id program to call kpartx only on multipathed + devices (#149995 - LTC21557). +- Include latest fixes from upstream. +* Wed Feb 8 2006 hare@suse.de +- Add device blacklisting (#85778) +- Further manpage installation fixes (#146179, #147053, #147911) +* Wed Jan 25 2006 mls@suse.de +- converted neededforbuild to BuildRequires +* Thu Jan 19 2006 hare@suse.de +- Fix manpage installation. +* Tue Jan 17 2006 hare@suse.de +- Include latest git fixes +- Remove old patches which are now upstream +- Add new hwtable entry for shark (#142176) +* Fri Dec 16 2005 hare@suse.de +- Fix dependencies for /etc/init.d/boot.multipath +- Fix kpartx rules to generate proper partition names. +* Wed Dec 7 2005 hare@suse.de +- Update to multipath-tools-0.4.6 +- Include latest git fixes +- Port patches from SLES9 SP3 +* Mon Oct 31 2005 dmueller@suse.de +- don't build as root +* Mon Sep 5 2005 matz@suse.de +- Fix broken usage of self-defined syscall [#114933]. +* Fri Aug 26 2005 hare@suse.de +- Fix kpartx DASD partition support +* Thu Aug 4 2005 hare@suse.de +- Add 'directio' path checker +- Add support for S/390 DASD (PAV enablement). +- Update to package from SLES9 +* Thu Jun 23 2005 lmb@suse.de +- LUs with a WWN containing "fd" were blacklisted (#93562). +* Thu Jun 16 2005 lmb@suse.de +- Remove stray newline character from /dev/disk/by-name/ entries + (#85798, #86763) +- Clear /dev/disk/by-name/ on boot. (#85978) +- scsi_id now handles EMC Symmetrix; remove work-around for #86760. +* Wed Jun 15 2005 meissner@suse.de +- use RPM_OPT_FLAGS. +* Mon Jun 13 2005 ro@suse.de +- neededforbuild: udev -> sysfsutils +* Tue Jun 7 2005 lmb@suse.de +- Import fixes from upstream. +- Hardware table updates for IBM ESS and EMC CX (#81688). +- Reinstate paths correctly after failure/restore cycle (#85781, + [#86444]). +- Create map names again and fix segfault in devmap_name (#85798). +* Tue May 24 2005 hare@suse.de +- Fix segmentation fault with EMC Symmetrix (#85614). +- Update EMC Symmetrix entry in hwtable. +* Mon May 23 2005 hare@suse.de +- Add hwtable entry for IBM DS6000. (#63903) +- Do a rescan for devices if multipath command line option is set. +* Fri May 20 2005 hare@suse.de +- Fix devmap_name to use mapname and return proper status (#84748). +* Thu May 12 2005 lmb@suse.de +- Don't complain about default prio callout command (#81695). +- Reflect recent changes in boot.multipath as well as multipathd init + scripts. +- Actually fail paths when they are detected to be failed by multipathd + (#81679). +- killproc/startproc/checkproc can't be used with multipathd because of + the way the daemon switches to its own namespace (#80443). +* Mon May 9 2005 hare@suse.de +- Use proper path checker for SGI TPC arrays. +- Update hwtable entries for SGI TP9400 and SGI TP9500. +- Write correct PID file (#80443). +* Mon Apr 25 2005 lmb@suse.de +- Update to 0.4.4: pp_alua now licensed as GPL (#78628). +- multipath-tools-oom-adj.patch: oom_adj to a valid value. +* Thu Apr 21 2005 lmb@suse.de +- Update to 0.4.4-pre18 which fixes the multipathd to initialize + correctly in the absence of a configuration file (79239). +* Wed Apr 20 2005 lmb@suse.de +- Put multipath cache back into /dev because /var might not be mounted. +- Correct hwtable entry SGI TP9400, TP9500 and IBM 3542. +* Wed Apr 20 2005 lmb@suse.de +- Update to 0.4.4-pre16 +- Build against device-mapper.1.01.xx correctly. +* Tue Apr 19 2005 lmb@suse.de +- Build w/o device-mapper update again. +* Mon Apr 18 2005 lmb@suse.de +- Update to 0.4.4-pre14 +- Build versus device-mapper-1.01.01 to prevent deadlocks in + kernel-space. +- Fix devmap_name to work with udev. +- Fix startup of multipathd w/o configuration file present. +* Fri Apr 15 2005 lmb@suse.de +- Add path priority checker for EMC CLARiiON and make necessary + adjustments so that it gets called by default (#62491). +- Set the default udev dir to '/dev' +* Fri Apr 15 2005 hare@suse.de +- Fix to allocate default strings (#78056) +- Fix default entry for TPC9500. +* Wed Apr 13 2005 hare@suse.de +- Added pp_alua path priority checker. +- Update to multipath-tools-0.4.4-pre12. +* Mon Apr 11 2005 hare@suse.de +- Update to multipath-tools-0.4.4-pre10. +* Fri Apr 8 2005 hare@suse.de +- Update multipath to handle only true multipath devices (#62491). +- Update kpartx to use the device mapper target name if available. +- Add boot.multipath script for early set up of multipath targets. +* Thu Mar 31 2005 hare@suse.de +- Update devmap_name to select targets by table type (#62493). +* Tue Jan 25 2005 lmb@suse.de +- Update to 0.4.2 and fix some bugs + add support for the extended DM + multipath kernel module. (#47491) +* Thu Nov 11 2004 hare@suse.de +- Fix bugs to make it work on S/390 (#47491). +* Fri Nov 5 2004 hare@suse.de +- Update to version 0.3.6 (#47491). +- Fix multipath init script +- Install configuration file example. +- Install multipathd in /sbin instead of /usr/bin. +* Tue Jul 20 2004 fehr@suse.de +- updated README mp-tools-issues.pdf (see #40640) +* Wed Jun 9 2004 fehr@suse.de +- added pdf with README to package (see #40640) +* Thu Jun 3 2004 fehr@suse.de +- updated to version 0.2.1 +- removed patches zero-currpath.patch and rm-newline-in-name.patch + already contained in 0.2.1 +* Thu Jun 3 2004 fehr@suse.de +- added patch zero-currpath.patch (see bugzilla #40640) +* Wed May 26 2004 uli@suse.de +- fixed to build on s390x +* Wed May 26 2004 fehr@suse.de +- added patch rm-newline-in-name.patch (see bugzilla #40640) +* Tue May 25 2004 fehr@suse.de +- created initial version of a SuSE package from version 0.2.0 of + multipath tools diff --git a/multipath-tools.spec b/multipath-tools.spec new file mode 100644 index 0000000..f5d1e67 --- /dev/null +++ b/multipath-tools.spec @@ -0,0 +1,300 @@ +# +# spec file for package multipath-tools +# +# Copyright (c) 2022-2023 ZhuningOS +# + + +%global _lto_cflags %{nil} +%global _make_output_sync -Orecurse + +# multipath-tools auto-detects support for -D_FORTFY_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 &/') + +# Whether to build libdmmp - default YES +%bcond_without libdmmp + +# Whether to run tests - default YES +%bcond_without check + +# This should match the version in libdmmp/Makefile +%define _libdmmp_version 0.2.0 +%define libdmmp_version %(echo %{_libdmmp_version} | tr . _) + +Name: multipath-tools +Version: 0.9.4+71+suse.c648a77 +Release: 150500.1.2 +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 +# 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} +BuildRequires: libaio-devel +BuildRequires: pkgconfig(devmapper) +%if 0%{?with_libdmmp} == 1 +BuildRequires: pkgconfig(json-c) +%endif +BuildRequires: readline-devel +BuildRequires: pkgconfig(libsystemd) +BuildRequires: pkgconfig(libudev) +BuildRequires: pkgconfig(liburcu) +BuildRequires: pkgconfig(systemd) +BuildRequires: pkgconfig(udev) +BuildRequires: pkgconfig(mount) +%if 0%{?with_check} == 1 +BuildRequires: pkgconfig(cmocka) +%endif +# For regenerate-initrd-posttrans +# For now, we still need to require suse-module-tools +# See https://github.com/openSUSE/rpm-config-SUSE/pull/6 +BuildRequires: suse-module-tools +Requires(post): suse-module-tools +Requires: device-mapper >= 1.2.78 +Requires: kpartx +Requires: sg3_utils +Obsoletes: multipath-tools-rbd <= %{version} +PreReq: coreutils +PreReq: grep + +%description +This package provides the multipath tool and the multipathd daemon +to manage dm-multipath devices. multipath can detect and set up +multipath maps. multipathd sets up multipath maps automatically, +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 +# and it loads prioritizers (to be fixed) and checkers. + +%package -n libmpath0 +Summary: Libraries for multipath-tools +# This is for libmpathcmd, which is useless without multipathd. +# No hard dependency here - we don't want to pull in all dependencies +# of multipath-tools. +License: GPL-2.0-only AND LGPL-2.1-only AND LGPL-2.0-or-later +Group: System/Libraries +Recommends: multipath-tools +Conflicts: multipath-tools < 0.8.0 + +%description -n libmpath0 +libmpathpersist provides a C API for handling of SCSI persistent +reservations for device-mapper multipath devices. libmpathcmd +provides a C API for sending commands to a running multipathd +instance. + +%package -n kpartx +Summary: Manages partition tables on device-mapper devices +License: GPL-2.0-only +Group: System/Base +Requires: device-mapper + +%description -n kpartx +The kpartx program maps linear devmaps to device partitions, which +makes multipath maps partionable. + +%package devel +Summary: Development libraries for multipath-tools +License: GPL-2.0-only AND LGPL-2.0-or-later +Group: Development/Libraries/C and C++ +Requires: libmpath0 = %{version} + +%description devel +This package contains the development libraries for multipath-tools +and libmpathpersist. + +%package -n libdmmp%{libdmmp_version} +Summary: C API for multipath-tools +License: GPL-3.0-or-later +Group: System/Libraries +Requires: multipath-tools + +%description -n libdmmp%{libdmmp_version} +This library enables the use of libmultipath commands from C code. + +%package -n libdmmp-devel +Summary: Header files for multipath-tools C API +License: GPL-3.0-or-later +Group: Development/Libraries/C and C++ +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} +%if 0%{?suse_version} < 1550 +%define dirflags LIB=%{_lib} usr_prefix=%{_prefix} systemd_prefix=%{_prefix} +%define sbindir /sbin +%define libdir /%{_lib} +%else +%define dirflags LIB=%{_lib} prefix=%{_prefix} +%define sbindir %{_sbindir} +%define libdir %{_libdir} +%endif + +%prep +%setup -q -n multipath-tools-%{version} +cp %{SOURCE4} . +cp %{SOURCE5} . +%autopatch -p1 + +%build +[ -n "$SOURCE_DATE_EPOCH" ] && export KBUILD_BUILD_TIMESTAMP=@$SOURCE_DATE_EPOCH +%{make_build} OPTFLAGS="%{mp_optflags}" %{dirflags} %{makeflags} V=1 + +%if 0%{?with_check} == 1 +%check +%{make_build} OPTFLAGS="%{mp_optflags}" V=1 test +%endif + +%install +%make_install %{dirflags} %{makeflags} V=1 +mkdir -p %{buildroot}%{_defaultlicensedir} +mkdir -p %{buildroot}/usr/sbin +mkdir -p %{buildroot}/usr/%{_lib} +%if 0%{?suse_version} < 1550 +for x in mpathutil multipath mpathpersist mpathcmd mpathvalid; do + rm -f %{buildroot}/%{_lib}/lib$x.so + ln -sf /%{_lib}/lib$x.so.0 %{buildroot}/usr/%{_lib}/lib$x.so +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 %{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 + +%post -n libmpath0 -p %{run_ldconfig} +%postun -n libmpath0 -p %{run_ldconfig} + +%pre +[ -f /.buildenv ] && exit 0 +%service_add_pre multipathd.socket multipathd.service + +%post +[ -f /.buildenv ] && exit 0 +%tmpfiles_create %{_tmpfilesdir}/multipath.conf +%service_add_post multipathd.socket multipathd.service +if [ $1 -eq 1 ]; then + [ ! -x /sbin/modprobe ] || /sbin/modprobe dm_multipath || true +fi +%{?regenerate_initrd_post} +exit 0 + +%preun +%service_del_preun multipathd.service multipathd.socket + +%postun +%{?regenerate_initrd_post} +%service_del_postun multipathd.service +%service_del_postun_without_restart multipathd.socket + +%posttrans +%{?regenerate_initrd_posttrans} + +%files +%doc README.md +%license LICENSES/GPL-2.0 +%license LICENSES/GPL-3.0 +%{_udevrulesdir}/11-dm-mpath.rules +%{_udevrulesdir}/56-multipath.rules +%{sbindir}/multipath +%{sbindir}/multipathd +%{sbindir}/multipathc +%{sbindir}/mpathpersist +/usr/sbin/rcmultipathd +%{_unitdir}/multipathd.service +%{_unitdir}/multipathd.socket +%dir /usr/lib/modules-load.d +/usr/lib/modules-load.d/multipath.conf +%dir /usr/lib/dracut +%dir /usr/lib/dracut/dracut.conf.d +/usr/lib/dracut/dracut.conf.d/multipath.conf +%{_tmpfilesdir}/multipath.conf +%{_mandir}/man8/multipath.8* +%{_mandir}/man5/multipath.conf.5* +%{_mandir}/man8/multipathd.8* +%{_mandir}/man8/multipathc.8* +%{_mandir}/man8/mpathpersist.8* +%ghost %attr(700,root,root) /run/multipath + +%files -n libmpath0 +%{libdir}/libmultipath.so.0 +%{libdir}/libmpathcmd.so.0 +%{libdir}/libmpathpersist.so.0 +%{libdir}/libmpathvalid.so.0 +%{libdir}/libmpathutil.so.0 +%{libdir}/multipath +%license LICENSES/GPL-2.0 +%license LICENSES/LGPL-2.0 +%license LICENSES/LGPL-2.1 +%license README.licenses + +%files devel +%{_libdir}/libmultipath.so +%{_libdir}/libmpathcmd.so +%{_libdir}/libmpathpersist.so +%{_libdir}/libmpathvalid.so +%{_libdir}/libmpathutil.so +/usr/include/mpath_cmd.h +/usr/include/mpath_persist.h +/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 +%{sbindir}/kpartx +%{_udevrulesdir}/00-dont-del-part-nodes.rules +%{_udevrulesdir}/11-dm-parts.rules +%{_udevrulesdir}/66-kpartx.rules +%{_udevrulesdir}/68-del-part-nodes.rules +/usr/lib/udev/kpartx_id +/usr/lib/dracut/dracut.conf.d/dm-parts.conf +%{_mandir}/man8/kpartx.8* + +%posttrans -n kpartx +# The kpartx package contains udev rules that may need to be in initrd. +%{?regenerate_initrd_posttrans} + +%post -n libdmmp%{libdmmp_version} -p %{run_ldconfig} +%postun -n libdmmp%{libdmmp_version} -p %{run_ldconfig} + +%if 0%{?with_libdmmp} == 1 + +%files -n libdmmp%{libdmmp_version} +%defattr(-,root,root) +%license LICENSES/GPL-3.0 +/%{_libdir}/libdmmp.so.%{_libdmmp_version} + +%files -n libdmmp-devel +%defattr(-,root,root) +%{_libdir}/libdmmp.so +%{_mandir}/man3/libdmmp.h* +%{_mandir}/man3/dmmp_* +%{_includedir}/libdmmp +%{_libdir}/pkgconfig/libdmmp.pc + +%endif + +%changelog diff --git a/multipath.conf b/multipath.conf new file mode 100644 index 0000000..8fade92 --- /dev/null +++ b/multipath.conf @@ -0,0 +1,5 @@ +# Load device-handler and multipath module at boot +scsi_dh_alua +scsi_dh_emc +scsi_dh_rdac +dm-multipath