1
0

Accepting request 894131 from home:mwilck:branches:Base:System

- Update to version 0.8.6+10+suse.47711374:
  * Github workflows: add CI for SUSE-specific branches

- Disabled LTO for multipath-tools
  * The test for is_valid_path fails if LTO is enabled, just
    disabling it for %check is insufficient.

- 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.

  (bsc#1182072, bsc#1177371)
   (bsc#1181435, bsc#1183666)

OBS-URL: https://build.opensuse.org/request/show/894131
OBS-URL: https://build.opensuse.org/package/show/Base:System/multipath-tools?expand=0&rev=253
This commit is contained in:
Martin Wilck 2021-05-18 19:47:44 +00:00 committed by Git OBS Bridge
parent 2f6438df20
commit a8a3fc0b93
8 changed files with 110 additions and 35 deletions

View File

@ -1,4 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/openSUSE/multipath-tools.git</param>
<param name="changesrevision">633836e481465d042d7707b498678d3cf8216e2e</param></service></servicedata>
<param name="changesrevision">47711374a3d8582b68b3cd76d26ba6bb4d652e26</param></service></servicedata>

View File

@ -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 <mpath_persist.h>
#include <libudev.h>
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;
}

View File

@ -1,40 +1,25 @@
/*
* This is a minimal skeleton for code using libmpathpersist.
* Compile with "-lmpathpersist -lmultipath -ludev".
* 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 <mpath_persist.h>
#include <libudev.h>
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)
{
}
struct config *conf;
int main(void)
{
udev = udev_new();
conf = mpath_lib_init();
if(!conf) {
udev_unref(udev);
return 1;
}
return 0;

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:10ae532b22bd80abaa610c2311f1096f441561d2e234f7c4d8f27fd6fab4dec1
size 2496524

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c899edc6588fb48f5b53459a0e80ccbb1a91147e099935c17cbae46203e05989
size 2608140

View File

@ -1,3 +1,42 @@
-------------------------------------------------------------------
Tue May 18 17:43:13 UTC 2021 - Martin Wilck <mwilck@suse.com>
- Update to version 0.8.6+10+suse.47711374:
* Github workflows: add CI for SUSE-specific branches
-------------------------------------------------------------------
Fri Apr 2 00:01:23 UTC 2021 - Martin Wilck <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 01 21:00:32 UTC 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 01 11:01:34 UTC 2021 - mwilck@suse.com
@ -18,14 +57,14 @@ Fri Mar 12 14:53:41 UTC 2021 - mwilck@suse.com
- Update to version 0.8.5+26+suse.2cbedfd:
Avoid "illegal request" errors on non-RDAC storage
(bsc#bsc#1182072, bsc#1177371)
(bsc#1182072, bsc#1177371)
-------------------------------------------------------------------
Wed Mar 10 10:16:38 UTC 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#1181435, bsc#1183666)
-------------------------------------------------------------------
Wed Feb 10 14:30:15 UTC 2021 - mwilck@suse.com

View File

@ -1,5 +1,5 @@
name: multipath-tools
version: 0.8.5+30+suse.633836e
mtime: 1617050092
commit: 633836e481465d042d7707b498678d3cf8216e2e
version: 0.8.6+10+suse.4771137
mtime: 1618245342
commit: 47711374a3d8582b68b3cd76d26ba6bb4d652e26

View File

@ -15,6 +15,9 @@
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
# The test for libmpathvalid fails with -flto=auto. Just disabling
# it for the %check section is not sufficient, unfortunately.
%global _lto_cflags %{nil}
# Whether to build libdmmp
# Default YES except for SLE12 / Leap 42
@ -39,7 +42,7 @@
%define _sysdir usr/lib
Name: multipath-tools
Version: 0.8.5+30+suse.633836e
Version: 0.8.6+10+suse.4771137
Release: 0
Summary: Tools to Manage Multipathed Devices with the device-mapper
License: GPL-2.0-only
@ -52,6 +55,7 @@ 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
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%{?systemd_requires}
BuildRequires: libaio-devel
@ -72,12 +76,13 @@ BuildRequires: pkgconfig(cmocka)
# 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(post): suse-module-tools
Requires: device-mapper >= 1.2.78
Requires: kpartx
Requires: sg3_utils
Obsoletes: multipath-tools-rbd <= %{version}
PreReq: coreutils grep
PreReq: coreutils
PreReq: grep
%description
This package provides the multipath tool and the multipathd daemon
@ -91,6 +96,7 @@ availability of the map devices.
# 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.
@ -152,6 +158,7 @@ This package provides development files and documentation for libdmmp.
%setup -q -n multipath-tools-%{version}
# This must be before autopatch for code 12, otherwise build error
cp %{SOURCE4} .
cp %{SOURCE5} .
%autopatch -p1
%build
@ -164,7 +171,6 @@ cp %{SOURCE4} .
%check
# ld fails to resolve cmocka's __wrap symbols with -flto
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88643
%define _lto_cflags %{nil}
make OPTFLAGS="%{optflags}" %{_make_output_sync} %{?_smp_mflags} test
%endif
@ -173,7 +179,7 @@ make OPTFLAGS="%{optflags}" %{_make_output_sync} %{?_smp_mflags} test
mkdir -p %{buildroot}%{_defaultlicensedir}
mkdir -p %{buildroot}/usr/sbin
mkdir -p %{buildroot}/usr/%{_lib}
for x in multipath mpathpersist mpathcmd; do
for x in 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
@ -238,6 +244,7 @@ exit 0
/%{_lib}/libmultipath.so.0
/%{_lib}/libmpathcmd.so.0
/%{_lib}/libmpathpersist.so.0
/%{_lib}/libmpathvalid.so.0
/%{_lib}/multipath
%license LICENSES/GPL-2.0
%license LICENSES/LGPL-2.0
@ -249,10 +256,13 @@ exit 0
/usr/%{_lib}/libmultipath.so
/usr/%{_lib}/libmpathcmd.so
/usr/%{_lib}/libmpathpersist.so
/usr/%{_lib}/libmpathvalid.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
%defattr(-,root,root)