Accepting request 616703 from home:NMoreyChaisemartin:branches:science:HPC
- Update to rdma-core v18.1 * Fix compilation issue with recent glibc - Drop Remove-the-obsolete-libibcm-library.patch and umad-Do-not-check-for-umad-sysfs-files-in-umad_init.patch as they were fixed upstream. OBS-URL: https://build.opensuse.org/request/show/616703 OBS-URL: https://build.opensuse.org/package/show/science:HPC/rdma-core?expand=0&rev=90
This commit is contained in:
parent
53c8fb405b
commit
1834a056c9
File diff suppressed because it is too large
Load Diff
2
_service
2
_service
@ -8,7 +8,7 @@
|
|||||||
<param name="versionformat">@PARENT_TAG@.@TAG_OFFSET@.%h</param>
|
<param name="versionformat">@PARENT_TAG@.@TAG_OFFSET@.%h</param>
|
||||||
<param name="versionrewrite-pattern">v(.*)</param>
|
<param name="versionrewrite-pattern">v(.*)</param>
|
||||||
<param name="versionrewrite-replacement">\1</param>
|
<param name="versionrewrite-replacement">\1</param>
|
||||||
<param name="revision">8745c05f4fca7fe33c96c9a18964bdd88a907c94</param>
|
<param name="revision">1f4780139d626c9d5cdd8386edf76a1c0043741e</param>
|
||||||
<param name="extract">suse/rdma-core.spec</param>
|
<param name="extract">suse/rdma-core.spec</param>
|
||||||
</service>
|
</service>
|
||||||
<service name="recompress" mode="disabled">
|
<service name="recompress" mode="disabled">
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:927991025f160d74d35025e3d3218bfe52be3e5e276c2507ac429da3f2a6de6a
|
|
||||||
size 1062702
|
|
3
rdma-core-18.1.0.1f4780139d62.tar.gz
Normal file
3
rdma-core-18.1.0.1f4780139d62.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:28e196e8ef6675e0533b7e6be8bf8c5e2b558894f59d9cca4f3d2755cc415fb4
|
||||||
|
size 1107295
|
@ -1,3 +1,12 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jun 12 10:40:32 UTC 2018 - nmoreychaisemartin@suse.com
|
||||||
|
|
||||||
|
- Update to rdma-core v18.1
|
||||||
|
* Fix compilation issue with recent glibc
|
||||||
|
- Drop Remove-the-obsolete-libibcm-library.patch and
|
||||||
|
umad-Do-not-check-for-umad-sysfs-files-in-umad_init.patch as they were
|
||||||
|
fixed upstream.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Jun 12 05:47:18 UTC 2018 - nmoreychaisemartin@suse.com
|
Tue Jun 12 05:47:18 UTC 2018 - nmoreychaisemartin@suse.com
|
||||||
|
|
||||||
|
@ -17,9 +17,9 @@
|
|||||||
|
|
||||||
|
|
||||||
%bcond_without systemd
|
%bcond_without systemd
|
||||||
%define git_ver .0.8745c05f4fca
|
%define git_ver .0.1f4780139d62
|
||||||
Name: rdma-core
|
Name: rdma-core
|
||||||
Version: 16.5
|
Version: 18.1
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: RDMA core userspace libraries and daemons
|
Summary: RDMA core userspace libraries and daemons
|
||||||
License: GPL-2.0-only OR BSD-2-Clause
|
License: GPL-2.0-only OR BSD-2-Clause
|
||||||
@ -48,11 +48,10 @@ Group: Productivity/Networking/Other
|
|||||||
Url: https://github.com/linux-rdma/rdma-core
|
Url: https://github.com/linux-rdma/rdma-core
|
||||||
Source: rdma-core-%{version}%{git_ver}.tar.gz
|
Source: rdma-core-%{version}%{git_ver}.tar.gz
|
||||||
Source1: baselibs.conf
|
Source1: baselibs.conf
|
||||||
Patch0: Remove-the-obsolete-libibcm-library.patch
|
|
||||||
Patch1: umad-Do-not-check-for-umad-sysfs-files-in-umad_init.patch
|
|
||||||
BuildRequires: binutils
|
BuildRequires: binutils
|
||||||
BuildRequires: cmake >= 2.8.11
|
BuildRequires: cmake >= 2.8.11
|
||||||
BuildRequires: gcc
|
BuildRequires: gcc
|
||||||
|
BuildRequires: pandoc
|
||||||
BuildRequires: pkgconfig
|
BuildRequires: pkgconfig
|
||||||
BuildRequires: python3-base
|
BuildRequires: python3-base
|
||||||
BuildRequires: pkgconfig(libsystemd)
|
BuildRequires: pkgconfig(libsystemd)
|
||||||
@ -315,8 +314,6 @@ on those changes.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n %{name}-%{version}%{git_ver}
|
%setup -q -n %{name}-%{version}%{git_ver}
|
||||||
%patch0
|
|
||||||
%patch1
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
|
||||||
@ -326,6 +323,8 @@ on those changes.
|
|||||||
%define _rundir /var/run
|
%define _rundir /var/run
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%{!?EXTRA_CMAKE_FLAGS: %define EXTRA_CMAKE_FLAGS %{nil}}
|
||||||
|
|
||||||
# Pass all of the rpm paths directly to GNUInstallDirs and our other defines.
|
# Pass all of the rpm paths directly to GNUInstallDirs and our other defines.
|
||||||
%cmake %{CMAKE_FLAGS} \
|
%cmake %{CMAKE_FLAGS} \
|
||||||
-DCMAKE_MODULE_LINKER_FLAGS="-Wl,--as-needed -Wl,-z,now" \
|
-DCMAKE_MODULE_LINKER_FLAGS="-Wl,--as-needed -Wl,-z,now" \
|
||||||
@ -345,7 +344,8 @@ on those changes.
|
|||||||
-DCMAKE_INSTALL_INITDDIR:PATH=%{_initddir} \
|
-DCMAKE_INSTALL_INITDDIR:PATH=%{_initddir} \
|
||||||
-DCMAKE_INSTALL_RUNDIR:PATH=%{_rundir} \
|
-DCMAKE_INSTALL_RUNDIR:PATH=%{_rundir} \
|
||||||
-DCMAKE_INSTALL_DOCDIR:PATH=%{_docdir}/%{name}-%{version} \
|
-DCMAKE_INSTALL_DOCDIR:PATH=%{_docdir}/%{name}-%{version} \
|
||||||
-DCMAKE_INSTALL_UDEV_RULESDIR:PATH=%{_udevrulesdir}
|
-DCMAKE_INSTALL_UDEV_RULESDIR:PATH=%{_udevrulesdir} \
|
||||||
|
%{EXTRA_CMAKE_FLAGS}
|
||||||
%make_jobs
|
%make_jobs
|
||||||
|
|
||||||
%install
|
%install
|
||||||
|
@ -1,158 +0,0 @@
|
|||||||
commit e326c6065d8daa51189abc84a968e0da7b0c2394
|
|
||||||
Author: Jason Gunthorpe <jgg@mellanox.com>
|
|
||||||
Date: Thu Apr 5 11:04:14 2018 -0600
|
|
||||||
|
|
||||||
umad: Do not check for umad sysfs files in umad_init
|
|
||||||
|
|
||||||
Now that we don't load the umad module if the HW doesn't use it (eg
|
|
||||||
for roce only hardware) umad_init is failing to read the ABI version
|
|
||||||
from the kernel.
|
|
||||||
|
|
||||||
Applications still want to use some libibumad services that are not
|
|
||||||
related to the char device, so move the version check to umad_open_port
|
|
||||||
instead.
|
|
||||||
|
|
||||||
Backport from:
|
|
||||||
* abf72057c277 (umad: Do not check for umad sysfs files in umad_init)
|
|
||||||
* c4b883dd49ae (libibumad/man/umad_init.3.md: Trivial punctuation changes)
|
|
||||||
* b19fb6d4194e (libibumad/man/umad_open_port.3: Update return values)
|
|
||||||
|
|
||||||
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
|
|
||||||
Signed-off-by: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
|
||||||
|
|
||||||
diff --git libibumad/man/umad_init.3 libibumad/man/umad_init.3
|
|
||||||
index 64366b9de7e4..32c41a9e9878 100644
|
|
||||||
--- libibumad/man/umad_init.3
|
|
||||||
+++ libibumad/man/umad_init.3
|
|
||||||
@@ -13,26 +13,23 @@ umad_init, umad_done \- perform library initialization and finalization
|
|
||||||
.BI "int umad_done(void);
|
|
||||||
.fi
|
|
||||||
.SH "DESCRIPTION"
|
|
||||||
-.B umad_init()
|
|
||||||
-initializes the umad library for use. Must be called before any
|
|
||||||
-other call to this library.
|
|
||||||
-.PP
|
|
||||||
-.B umad_done()
|
|
||||||
-finalizes the use of the umad library.
|
|
||||||
+.B umad_init(), umad_done()
|
|
||||||
+do nothing.
|
|
||||||
.SH "RETURN VALUE"
|
|
||||||
+Always 0.
|
|
||||||
+.SH "COMPATIBILITY"
|
|
||||||
+For compatibility applications should continue to call
|
|
||||||
.B umad_init()
|
|
||||||
-and
|
|
||||||
-.B umad_done()
|
|
||||||
-return 0 on success, and \-1 on error.
|
|
||||||
-Error is returned from
|
|
||||||
+, and check the return code, prior to calling other
|
|
||||||
+.B umad_
|
|
||||||
+functions.
|
|
||||||
+.PP
|
|
||||||
+If
|
|
||||||
.B umad_init()
|
|
||||||
-if infiniband umad
|
|
||||||
-can\'t be opened, or the abi version doesn\'t match.
|
|
||||||
-There are no errors currently returned by
|
|
||||||
-.B umad_done().
|
|
||||||
-.SH "NOTES"
|
|
||||||
-If an error occurs during the library initialization, no further use of the
|
|
||||||
-umad library should be attempted.
|
|
||||||
+returns an error, then no further use of the umad library
|
|
||||||
+should be attempted.
|
|
||||||
+If an error occurs during the library initialization,
|
|
||||||
+no further use of the umad library should be attempted.
|
|
||||||
.SH "AUTHORS"
|
|
||||||
.TP
|
|
||||||
Hal Rosenstock <halr@voltaire.com>
|
|
||||||
diff --git libibumad/man/umad_open_port.3 libibumad/man/umad_open_port.3
|
|
||||||
index cac01a71026b..bd7026be39c0 100644
|
|
||||||
--- libibumad/man/umad_open_port.3
|
|
||||||
+++ libibumad/man/umad_open_port.3
|
|
||||||
@@ -24,11 +24,12 @@ for details).
|
|
||||||
.SH "RETURN VALUE"
|
|
||||||
.B umad_open_port()
|
|
||||||
returns 0 or an unique positive value of umad device descriptor on success, and a negative value on error as follows:
|
|
||||||
- -ENODEV IB device can\'t be resolved
|
|
||||||
- -EINVAL port is not valid (bad
|
|
||||||
+ -EOPNOTSUPP ABI version doesn\'t match
|
|
||||||
+ -ENODEV IB device can\'t be resolved
|
|
||||||
+ -EINVAL port is not valid (bad
|
|
||||||
.I portnum\fR
|
|
||||||
or no umad device)
|
|
||||||
- -EIO umad device for this port can\'t be opened
|
|
||||||
+ -EIO umad device for this port can\'t be opened
|
|
||||||
.SH "SEE ALSO"
|
|
||||||
.BR umad_close_port (3),
|
|
||||||
.BR umad_get_cas_names (3),
|
|
||||||
diff --git libibumad/umad.c libibumad/umad.c
|
|
||||||
index dcb2c6809eb1..08efb089d990 100644
|
|
||||||
--- libibumad/umad.c
|
|
||||||
+++ libibumad/umad.c
|
|
||||||
@@ -90,9 +90,31 @@ static int umaddebug = 0;
|
|
||||||
static const char *def_ca_name = "mthca0";
|
|
||||||
static int def_ca_port = 1;
|
|
||||||
|
|
||||||
-static unsigned abi_version;
|
|
||||||
static unsigned new_user_mad_api;
|
|
||||||
|
|
||||||
+static unsigned int get_abi_version(void)
|
|
||||||
+{
|
|
||||||
+ static unsigned int abi_version;
|
|
||||||
+
|
|
||||||
+ if (abi_version != 0)
|
|
||||||
+ return abi_version & 0x7FFFFFFF;
|
|
||||||
+
|
|
||||||
+ if (sys_read_uint(IB_UMAD_ABI_DIR, IB_UMAD_ABI_FILE, &abi_version) <
|
|
||||||
+ 0) {
|
|
||||||
+ IBWARN("can't read ABI version from %s/%s (%m): is ib_umad module loaded?",
|
|
||||||
+ IB_UMAD_ABI_DIR, IB_UMAD_ABI_FILE);
|
|
||||||
+ abi_version = 1 << 31;
|
|
||||||
+ return 0;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (abi_version < IB_UMAD_ABI_VERSION) {
|
|
||||||
+ abi_version = 1 << 31;
|
|
||||||
+ return 0;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ return abi_version;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
/*************************************
|
|
||||||
* Port
|
|
||||||
*/
|
|
||||||
@@ -502,19 +524,6 @@ static int dev_to_umad_id(const char *dev, unsigned port)
|
|
||||||
int umad_init(void)
|
|
||||||
{
|
|
||||||
TRACE("umad_init");
|
|
||||||
- if (sys_read_uint(IB_UMAD_ABI_DIR, IB_UMAD_ABI_FILE, &abi_version) < 0) {
|
|
||||||
- IBWARN
|
|
||||||
- ("can't read ABI version from %s/%s (%m): is ib_umad module loaded?",
|
|
||||||
- IB_UMAD_ABI_DIR, IB_UMAD_ABI_FILE);
|
|
||||||
- return -1;
|
|
||||||
- }
|
|
||||||
- if (abi_version < IB_UMAD_ABI_VERSION) {
|
|
||||||
- IBWARN
|
|
||||||
- ("wrong ABI version: %s/%s is %d but library minimal ABI is %d",
|
|
||||||
- IB_UMAD_ABI_DIR, IB_UMAD_ABI_FILE, abi_version,
|
|
||||||
- IB_UMAD_ABI_VERSION);
|
|
||||||
- return -1;
|
|
||||||
- }
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -618,9 +627,13 @@ int umad_open_port(const char *ca_name, int portnum)
|
|
||||||
{
|
|
||||||
char dev_file[UMAD_DEV_FILE_SZ];
|
|
||||||
int umad_id, fd;
|
|
||||||
+ unsigned int abi_version = get_abi_version();
|
|
||||||
|
|
||||||
TRACE("ca %s port %d", ca_name, portnum);
|
|
||||||
|
|
||||||
+ if (!abi_version)
|
|
||||||
+ return -EOPNOTSUPP;
|
|
||||||
+
|
|
||||||
if (!(ca_name = resolve_ca_name(ca_name, &portnum)))
|
|
||||||
return -ENODEV;
|
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user