Compare commits
No commits in common. "c8" and "c10s" have entirely different histories.
55
.gitignore
vendored
55
.gitignore
vendored
@ -1,2 +1,53 @@
|
|||||||
SOURCES/corosync-3.1.8.tar.gz
|
corosync-1.2.6.tar.gz
|
||||||
SOURCES/spausedd-20201112.tar.gz
|
corosync-1.2.7.tar.gz
|
||||||
|
/corosync-1.2.8.tar.gz
|
||||||
|
/corosync-1.3.0.tar.gz
|
||||||
|
/corosync-1.3.1.tar.gz
|
||||||
|
/corosync-1.3.2.tar.gz
|
||||||
|
/corosync-1.4.0.tar.gz
|
||||||
|
/corosync-1.4.1.tar.gz
|
||||||
|
/corosync-1.4.2.tar.gz
|
||||||
|
/corosync-1.99.1.tar.gz
|
||||||
|
/corosync-1.99.2.tar.gz
|
||||||
|
/corosync-1.99.3.tar.gz
|
||||||
|
/corosync-1.99.4.tar.gz
|
||||||
|
/corosync-1.99.5.tar.gz
|
||||||
|
/corosync-1.99.6.tar.gz
|
||||||
|
/corosync-1.99.7.tar.gz
|
||||||
|
/corosync-1.99.8.tar.gz
|
||||||
|
/corosync-1.99.9.tar.gz
|
||||||
|
/corosync-2.0.0.tar.gz
|
||||||
|
/corosync-2.0.1.tar.gz
|
||||||
|
/corosync-2.1.0.tar.gz
|
||||||
|
/corosync-2.2.0.tar.gz
|
||||||
|
/corosync-2.3.0.tar.gz
|
||||||
|
/corosync-2.3.1.tar.gz
|
||||||
|
/corosync-2.3.2.tar.gz
|
||||||
|
/corosync-2.3.3.tar.gz
|
||||||
|
/corosync-2.3.4.tar.gz
|
||||||
|
/corosync-2.3.5.tar.gz
|
||||||
|
/corosync-2.3.6.tar.gz
|
||||||
|
/corosync-2.4.0.tar.gz
|
||||||
|
/corosync-2.4.1.tar.gz
|
||||||
|
/corosync-2.4.2.tar.gz
|
||||||
|
/corosync-2.4.3.tar.gz
|
||||||
|
/corosync-2.99.1.tar.gz
|
||||||
|
/corosync-2.99.2.tar.gz
|
||||||
|
/corosync-2.99.3.tar.gz
|
||||||
|
/corosync-2.99.4.tar.gz
|
||||||
|
/corosync-2.99.5.tar.gz
|
||||||
|
/corosync-3.0.0.tar.gz
|
||||||
|
/corosync-3.0.1.tar.gz
|
||||||
|
/corosync-3.0.2.tar.gz
|
||||||
|
/corosync-3.0.3.tar.gz
|
||||||
|
/corosync-3.0.4.tar.gz
|
||||||
|
/corosync-3.1.0.tar.gz
|
||||||
|
/corosync-3.1.1.tar.gz
|
||||||
|
/corosync-3.1.2.tar.gz
|
||||||
|
/corosync-3.1.3.tar.gz
|
||||||
|
/corosync-3.1.4.tar.gz
|
||||||
|
/corosync-3.1.5.tar.gz
|
||||||
|
/corosync-3.1.6.tar.gz
|
||||||
|
/corosync-3.1.7.tar.gz
|
||||||
|
/corosync-3.1.8.tar.gz
|
||||||
|
/corosync-3.1.9.tar.gz
|
||||||
|
29
corosync.rpmlintrc
Normal file
29
corosync.rpmlintrc
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
# Empty %postun
|
||||||
|
addFilter(r'W: empty-%postun')
|
||||||
|
|
||||||
|
# Spelling error init
|
||||||
|
addFilter(r'W: spelling-error %description -l en_US init')
|
||||||
|
|
||||||
|
# Spelling error corosync
|
||||||
|
addFilter(r'W: spelling-error .* (C|c)orosync')
|
||||||
|
|
||||||
|
# Spelling error votequorum and subprocesses
|
||||||
|
addFilter(r'corosync-vqsim\.[^:]+: W: spelling-error .* votequorum')
|
||||||
|
addFilter(r'corosync-vqsim\.[^:]+: W: spelling-error .* subprocesses')
|
||||||
|
|
||||||
|
# Repeated Corosync
|
||||||
|
addFilter(r'W: name-repeated-in-summary C Corosync')
|
||||||
|
|
||||||
|
# Explicit lib dependency - knet nss has been requested by QA,
|
||||||
|
# libxslt may be replaced with xsltproc binary
|
||||||
|
addFilter(r'corosync\.[^:]+: (E|W): explicit-lib-dependency libknet1-crypto-nss-plugin')
|
||||||
|
addFilter(r'corosync\.[^:]+: (E|W): explicit-lib-dependency libxslt')
|
||||||
|
|
||||||
|
# Dbus is not config file
|
||||||
|
addFilter(r'corosync\.[^:]+: (E|W): non-conffile-in-etc /etc/dbus-1/system\.d/corosync-signals\.conf')
|
||||||
|
|
||||||
|
# Logrotate is not requirement
|
||||||
|
addFilter(r'corosync\.[^:]+: (E|W): missing-dependency-to-logrotate')
|
||||||
|
|
||||||
|
# libcorosync_common.so has no libc call
|
||||||
|
addFilter(r'corosynclib\.[^:]+: (E|W): library-not-linked-against-libc /usr/lib(64)?/libcorosync_common\.so')
|
@ -11,31 +11,18 @@
|
|||||||
%bcond_without vqsim
|
%bcond_without vqsim
|
||||||
%bcond_without runautogen
|
%bcond_without runautogen
|
||||||
%bcond_without userflags
|
%bcond_without userflags
|
||||||
%bcond_without spausedd
|
|
||||||
|
|
||||||
%global gitver %{?numcomm:.%{numcomm}}%{?alphatag:.%{alphatag}}%{?dirty:.%{dirty}}
|
%global gitver %{?numcomm:.%{numcomm}}%{?alphatag:.%{alphatag}}%{?dirty:.%{dirty}}
|
||||||
%global gittarver %{?numcomm:.%{numcomm}}%{?alphatag:-%{alphatag}}%{?dirty:-%{dirty}}
|
%global gittarver %{?numcomm:.%{numcomm}}%{?alphatag:-%{alphatag}}%{?dirty:-%{dirty}}
|
||||||
|
|
||||||
%if %{with spausedd}
|
|
||||||
%global spausedd_version 20201112
|
|
||||||
%endif
|
|
||||||
|
|
||||||
Name: corosync
|
Name: corosync
|
||||||
Summary: The Corosync Cluster Engine and Application Programming Interfaces
|
Summary: The Corosync Cluster Engine and Application Programming Interfaces
|
||||||
Version: 3.1.8
|
Version: 3.1.9
|
||||||
Release: 1%{?gitver}%{?dist}
|
Release: 1%{?gitver}%{?dist}
|
||||||
License: BSD
|
License: BSD-3-Clause
|
||||||
URL: http://corosync.github.io/corosync/
|
URL: http://corosync.github.io/corosync/
|
||||||
Source0: http://build.clusterlabs.org/corosync/releases/%{name}-%{version}%{?gittarver}.tar.gz
|
Source0: http://build.clusterlabs.org/corosync/releases/%{name}-%{version}%{?gittarver}.tar.gz
|
||||||
|
|
||||||
%if %{with spausedd}
|
|
||||||
Source1: https://github.com/jfriesse/spausedd/releases/download/%{spausedd_version}/spausedd-%{spausedd_version}.tar.gz
|
|
||||||
# VMGuestLib exists only for x86_64 architecture
|
|
||||||
%ifarch x86_64
|
|
||||||
%global use_vmguestlib 1
|
|
||||||
%endif
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# Runtime bits
|
# Runtime bits
|
||||||
# The automatic dependency overridden in favor of explicit version lock
|
# The automatic dependency overridden in favor of explicit version lock
|
||||||
Requires: corosynclib%{?_isa} = %{version}-%{release}
|
Requires: corosynclib%{?_isa} = %{version}-%{release}
|
||||||
@ -80,16 +67,10 @@ Requires: libxslt
|
|||||||
%if %{with vqsim}
|
%if %{with vqsim}
|
||||||
BuildRequires: readline-devel
|
BuildRequires: readline-devel
|
||||||
%endif
|
%endif
|
||||||
%if %{defined use_vmguestlib}
|
BuildRequires: make
|
||||||
BuildRequires: pkgconfig(vmguestlib)
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%if %{with spausedd}
|
|
||||||
%setup -q -a 1 -n %{name}-%{version}%{?gittarver}
|
|
||||||
%else
|
|
||||||
%setup -q -n %{name}-%{version}%{?gittarver}
|
%setup -q -n %{name}-%{version}%{?gittarver}
|
||||||
%endif
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%if %{with runautogen}
|
%if %{with runautogen}
|
||||||
@ -128,26 +109,14 @@ BuildRequires: pkgconfig(vmguestlib)
|
|||||||
--with-systemddir=%{_unitdir} \
|
--with-systemddir=%{_unitdir} \
|
||||||
--docdir=%{_docdir}
|
--docdir=%{_docdir}
|
||||||
|
|
||||||
make %{_smp_mflags}
|
%make_build
|
||||||
|
|
||||||
%if %{with spausedd}
|
|
||||||
cd spausedd-%{spausedd_version}
|
|
||||||
CFLAGS="${CFLAGS:-%{optflags}}" ; export CFLAGS
|
|
||||||
make \
|
|
||||||
%if %{defined use_vmguestlib}
|
|
||||||
WITH_VMGUESTLIB=1 \
|
|
||||||
%else
|
|
||||||
WITH_VMGUESTLIB=0 \
|
|
||||||
%endif
|
|
||||||
%{?_smp_mflags}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%install
|
%install
|
||||||
make install DESTDIR=%{buildroot}
|
%make_install
|
||||||
|
|
||||||
%if %{with dbus}
|
%if %{with dbus}
|
||||||
mkdir -p -m 0700 %{buildroot}/%{_sysconfdir}/dbus-1/system.d
|
mkdir -p -m 0700 %{buildroot}/%{_sysconfdir}/dbus-1/system.d
|
||||||
install -m 644 %{_builddir}/%{name}-%{version}%{?gittarver}/conf/corosync-signals.conf %{buildroot}/%{_sysconfdir}/dbus-1/system.d/corosync-signals.conf
|
install -m 644 %{_builddir}/%{name}-%{version}%{?gittarver}/conf/corosync-signals.conf %{buildroot}/%{_datadir}/dbus-1/system.d/corosync-signals.conf
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
## tree fixup
|
## tree fixup
|
||||||
@ -164,21 +133,6 @@ install -m 644 tools/corosync-notifyd.sysconfig.example \
|
|||||||
install -m 644 init/corosync.sysconfig.example \
|
install -m 644 init/corosync.sysconfig.example \
|
||||||
%{buildroot}%{_sysconfdir}/sysconfig/corosync
|
%{buildroot}%{_sysconfdir}/sysconfig/corosync
|
||||||
|
|
||||||
%if %{with spausedd}
|
|
||||||
cd spausedd-%{spausedd_version}
|
|
||||||
make DESTDIR="%{buildroot}" PREFIX="%{_prefix}" install
|
|
||||||
|
|
||||||
%if %{with systemd}
|
|
||||||
mkdir -p %{buildroot}/%{_unitdir}
|
|
||||||
install -m 644 -p init/spausedd.service %{buildroot}/%{_unitdir}
|
|
||||||
%else
|
|
||||||
mkdir -p %{buildroot}/%{_initrddir}
|
|
||||||
install -m 755 -p init/spausedd %{buildroot}/%{_initrddir}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
cd ..
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%description
|
%description
|
||||||
This package contains the Corosync Cluster Engine Executive, several default
|
This package contains the Corosync Cluster Engine Executive, several default
|
||||||
APIs and libraries, default configuration files, and an init script.
|
APIs and libraries, default configuration files, and an init script.
|
||||||
@ -231,7 +185,7 @@ fi
|
|||||||
%config(noreplace) %{_sysconfdir}/sysconfig/corosync
|
%config(noreplace) %{_sysconfdir}/sysconfig/corosync
|
||||||
%config(noreplace) %{_sysconfdir}/logrotate.d/corosync
|
%config(noreplace) %{_sysconfdir}/logrotate.d/corosync
|
||||||
%if %{with dbus}
|
%if %{with dbus}
|
||||||
%{_sysconfdir}/dbus-1/system.d/corosync-signals.conf
|
%{_datadir}/dbus-1/system.d/corosync-signals.conf
|
||||||
%endif
|
%endif
|
||||||
%if %{with snmp}
|
%if %{with snmp}
|
||||||
%{_datadir}/snmp/mibs/COROSYNC-MIB.txt
|
%{_datadir}/snmp/mibs/COROSYNC-MIB.txt
|
||||||
@ -276,15 +230,14 @@ This package contains corosync libraries.
|
|||||||
%{_libdir}/libsam.so.*
|
%{_libdir}/libsam.so.*
|
||||||
%{_libdir}/libcorosync_common.so.*
|
%{_libdir}/libcorosync_common.so.*
|
||||||
|
|
||||||
%post -n corosynclib -p /sbin/ldconfig
|
%ldconfig_scriptlets -n corosynclib
|
||||||
|
|
||||||
%postun -n corosynclib -p /sbin/ldconfig
|
|
||||||
|
|
||||||
%package -n corosynclib-devel
|
%package -n corosynclib-devel
|
||||||
Summary: The Corosync Cluster Engine Development Kit
|
Summary: The Corosync Cluster Engine Development Kit
|
||||||
Requires: corosynclib%{?_isa} = %{version}-%{release}
|
Requires: corosynclib%{?_isa} = %{version}-%{release}
|
||||||
Requires: pkgconfig
|
Requires: pkgconfig
|
||||||
Provides: corosync-devel = %{version}
|
Provides: corosync-devel = %{version}-%{release}
|
||||||
|
Provides: corosync-devel%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
%description -n corosynclib-devel
|
%description -n corosynclib-devel
|
||||||
This package contains include files and man pages used to develop using
|
This package contains include files and man pages used to develop using
|
||||||
@ -335,266 +288,150 @@ network splits)
|
|||||||
%{_mandir}/man8/corosync-vqsim.8*
|
%{_mandir}/man8/corosync-vqsim.8*
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# optional spausedd
|
|
||||||
%if %{with spausedd}
|
|
||||||
|
|
||||||
%package -n spausedd
|
|
||||||
Summary: Utility to detect and log scheduler pause
|
|
||||||
URL: https://github.com/jfriesse/spausedd
|
|
||||||
|
|
||||||
%if %{with systemd}
|
|
||||||
%{?systemd_requires}
|
|
||||||
%else
|
|
||||||
Requires(post): /sbin/chkconfig
|
|
||||||
Requires(preun): /sbin/chkconfig
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%description -n spausedd
|
|
||||||
Utility to detect and log scheduler pause
|
|
||||||
|
|
||||||
%files -n spausedd
|
|
||||||
%doc spausedd-%{spausedd_version}/AUTHORS spausedd-%{spausedd_version}/COPYING
|
|
||||||
%{_bindir}/spausedd
|
|
||||||
%{_mandir}/man8/spausedd*
|
|
||||||
%if %{with systemd}
|
|
||||||
%{_unitdir}/spausedd.service
|
|
||||||
%else
|
|
||||||
%{_initrddir}/spausedd
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%post -n spausedd
|
|
||||||
%if %{with systemd} && 0%{?systemd_post:1}
|
|
||||||
%systemd_post spausedd.service
|
|
||||||
%else
|
|
||||||
if [ $1 -eq 1 ]; then
|
|
||||||
/sbin/chkconfig --add spausedd || :
|
|
||||||
fi
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%preun -n spausedd
|
|
||||||
%if %{with systemd} && 0%{?systemd_preun:1}
|
|
||||||
%systemd_preun spausedd.service
|
|
||||||
%else
|
|
||||||
if [ $1 -eq 0 ]; then
|
|
||||||
/sbin/service spausedd stop &>/dev/null || :
|
|
||||||
/sbin/chkconfig --del spausedd || :
|
|
||||||
fi
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%postun -n spausedd
|
|
||||||
%if %{with systemd} && 0%{?systemd_postun:1}
|
|
||||||
%systemd_postun spausedd.service
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Nov 15 2024 Jan Friesse <jfriesse@redhat.com> - 3.1.9-1
|
||||||
|
- Resolves: RHEL-65701
|
||||||
|
|
||||||
|
- New upstream release (RHEL-65701)
|
||||||
|
|
||||||
|
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 3.1.8-5
|
||||||
|
- Bump release for October 2024 mass rebuild:
|
||||||
|
Resolves: RHEL-64018
|
||||||
|
|
||||||
|
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 3.1.8-4
|
||||||
|
- Bump release for June 2024 mass rebuild
|
||||||
|
|
||||||
|
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.8-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.8-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||||
|
|
||||||
* Wed Nov 15 2023 Jan Friesse <jfriesse@redhat.com> - 3.1.8-1
|
* Wed Nov 15 2023 Jan Friesse <jfriesse@redhat.com> - 3.1.8-1
|
||||||
- Resolves: RHEL-15263
|
- New upstream release
|
||||||
|
|
||||||
- New upstream release (RHEL-15263)
|
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.7-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||||
|
|
||||||
* Tue Nov 15 2022 Jan Friesse <jfriesse@redhat.com> 3.1.7-1
|
* Tue Jun 06 2023 Jan Friesse <jfriesse@redhat.com> - 3.1.7-3
|
||||||
- Resolves: rhbz#2135860
|
- migrated to SPDX license
|
||||||
|
|
||||||
- New upstream release (rhbz#2135860)
|
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.7-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||||
|
|
||||||
* Wed Nov 24 2021 Jan Friesse <jfriesse@redhat.com> 3.1.5-2
|
* Tue Nov 15 2022 Jan Friesse <jfriesse@redhat.com> - 3.1.7-1
|
||||||
- Resolves: rhbz#2002115
|
- New upstream release
|
||||||
- Resolves: rhbz#2024658
|
|
||||||
|
|
||||||
- totem: Add cancel_hold_on_retransmit config option (rhbz#2002115)
|
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.6-4
|
||||||
- merge upstream commit cdf72925db5a81e546ca8e8d7d8291ee1fc77be4 (rhbz#2002115)
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||||
- totemsrp: Switch totempg buffers at the right time (rhbz#2024658)
|
|
||||||
- merge upstream commit e7a82370a7b5d3ca342d5e42e25763fa2c938739 (rhbz#2024658)
|
|
||||||
|
|
||||||
* Wed Aug 04 2021 Jan Friesse <jfriesse@redhat.com> 3.1.5-1
|
* Wed Mar 30 2022 Jan Friesse <jfriesse@redhat.com> - 3.1.6-3
|
||||||
- Related: rhbz#1948973
|
- Use copytruncate method for logrotate
|
||||||
|
|
||||||
- New upstream release (rhbz#1948973)
|
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.6-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||||
|
|
||||||
* Thu Jun 03 2021 Jan Friesse <jfriesse@redhat.com> 3.1.4-1
|
* Mon Nov 15 2021 Jan Friesse <jfriesse@redhat.com> - 3.1.6-1
|
||||||
- Related: rhbz#1948973
|
- New upstream release
|
||||||
- Resolves: rhbz#1962139
|
|
||||||
|
|
||||||
- New upstream release (rhbz#1948973)
|
* Wed Aug 04 2021 Jan Friesse <jfriesse@redhat.com> - 3.1.5-1
|
||||||
- stats: fix crash when iterating over deleted keys (rhbz#1962139)
|
- New upstream release
|
||||||
|
|
||||||
* Fri May 21 2021 Jan Friesse <jfriesse@redhat.com> 3.1.3-1
|
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.4-2
|
||||||
- Resolves: rhbz#1948973
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||||
|
|
||||||
- New upstream release (rhbz#1948973)
|
* Thu Jun 03 2021 Jan Friesse <jfriesse@redhat.com> - 3.1.4-1
|
||||||
|
- New upstream release
|
||||||
|
|
||||||
* Fri Apr 30 2021 Jan Friesse <jfriesse@redhat.com> 3.1.0-5
|
* Fri May 21 2021 Jan Friesse <jfriesse@redhat.com> - 3.1.3-1
|
||||||
- Resolves: rhbz#1954432
|
- New upstream release
|
||||||
|
|
||||||
* Tue Apr 06 2021 Jan Friesse <jfriesse@redhat.com> 3.1.0-4
|
* Tue Apr 06 2021 Jan Friesse <jfriesse@redhat.com> - 3.1.2-1
|
||||||
- Resolves: rhbz#1946623
|
- New upstream release
|
||||||
|
|
||||||
- knet: pass correct handle to knet_handle_compress (rhbz#1946623)
|
* Wed Mar 31 2021 Jan Friesse <jfriesse@redhat.com> - 3.1.1-1
|
||||||
|
- New upstream release
|
||||||
|
|
||||||
* Thu Nov 12 2020 Jan Friesse <jfriesse@redhat.com> 3.1.0-3
|
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.0-3
|
||||||
- Resolves: rhbz#1897085
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||||
- Resolves: rhbz#1896493
|
|
||||||
|
|
||||||
- spausedd: Add ability to move process into root cgroup (rhbz#1897085)
|
* Mon Nov 02 2020 Jan Friesse <jfriesse@redhat.com> - 3.1.0-2
|
||||||
- totemknet: Check both cipher and hash for crypto (rhbz#1896493)
|
- Add isa version of corosync-devel
|
||||||
|
- Add release to corosync-devel version to match autogenerated
|
||||||
|
corosynclib-devel provides
|
||||||
|
|
||||||
* Tue Nov 10 2020 Jan Friesse <jfriesse@redhat.com> 3.1.0-2
|
* Tue Oct 20 2020 Jan Friesse <jfriesse@redhat.com> - 3.1.0-1
|
||||||
- Resolves: rhbz#1896309
|
- New upstream release
|
||||||
|
|
||||||
- Fix log_perror (rhbz#1896309)
|
* Thu Aug 27 2020 Josef Řídký <jridky@redhat.com> - 3.0.4-6
|
||||||
|
- Rebuilt for new net-snmp release
|
||||||
|
|
||||||
* Tue Oct 20 2020 Jan Friesse <jfriesse@redhat.com> 3.1.0-1
|
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.4-5
|
||||||
- Resolves: rhbz#1855293
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||||
- Resolves: rhbz#1855303
|
|
||||||
- Resolves: rhbz#1870449
|
|
||||||
- Resolves: rhbz#1887400
|
|
||||||
|
|
||||||
- New upstream release (rhbz#1855293)
|
* Mon Jul 13 2020 Tom Stellard <tstellar@redhat.com> - 3.0.4-4
|
||||||
- Support for reload of crypto configuration (rhbz#1855303)
|
- Use make macros
|
||||||
- Increase default token timeout to 3000ms (rhbz#1870449)
|
- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
|
||||||
- Add support for nodelist callback into quorum service (rhbz#1887400)
|
|
||||||
|
|
||||||
* Tue May 26 2020 Jan Friesse <jfriesse@redhat.com> 3.0.3-4
|
* Wed May 13 2020 Jan Friesse <jfriesse@redhat.com> - 3.0.4-3
|
||||||
- Resolves: rhbz#1780137
|
- Fix typo in the changelog
|
||||||
- Resolves: rhbz#1791792
|
|
||||||
- Resolves: rhbz#1809864
|
|
||||||
- Resolves: rhbz#1816653
|
|
||||||
|
|
||||||
- votequorum: Ignore the icmap_get_* return value (rhbz#1780137)
|
* Wed May 13 2020 Jan Friesse <jfriesse@redhat.com> - 3.0.4-2
|
||||||
- merge upstream commit cddd62f972bca276c934e58f08da84071cec1ddb (rhbz#1780137)
|
- Rebuild for new libqb
|
||||||
- man: move cmap_keys man page from section 8 to 7 (rhbz#1791792)
|
|
||||||
- merge upstream commit f1d36307e524f9440733f0b01a9fc627a0e1cac7 (rhbz#1791792)
|
|
||||||
- votequorum: Reflect runtime change of 2Node to WFA (rhbz#1780137)
|
|
||||||
- merge upstream commit 8ce65bf951bc1e5b2d64b60ea027fbdc551d4fc8 (rhbz#1780137)
|
|
||||||
- stats: Add stats for scheduler misses (rhbz#1791792)
|
|
||||||
- merge upstream commit 48b6894ef41e9a06ccbb696d062d86ef60dc2c4b (rhbz#1791792)
|
|
||||||
- stats: Use nanoseconds from epoch for schedmiss (rhbz#1791792)
|
|
||||||
- merge upstream commit ebd05fa00826c366922e619b012a0684c6856539 (rhbz#1791792)
|
|
||||||
- main: Add schedmiss timestamp into message (rhbz#1791792)
|
|
||||||
- merge upstream commit 35662dd0ec53f456445c30c0ef92892f47b25aa2 (rhbz#1791792)
|
|
||||||
- votequorum: Change check of expected_votes (rhbz#1809864)
|
|
||||||
- merge upstream commit 0c16442f2d93f32a229b87d2672e2dc8025ec704 (rhbz#1809864)
|
|
||||||
- quorumtool: exit on invalid expected votes (rhbz#1809864)
|
|
||||||
- merge upstream commit 5f543465bb3506b7f4929a426f1c22a9c854cecd (rhbz#1809864)
|
|
||||||
- votequorum: set wfa status only on startup (rhbz#1816653)
|
|
||||||
- merge upstream commit ca320beac25f82c0c555799e647a47975a333c28 (rhbz#1816653)
|
|
||||||
|
|
||||||
* Tue Apr 28 2020 Jan Friesse <jfriesse@redhat.com> - 3.0.3-3
|
* Thu Apr 23 2020 Jan Friesse <jfriesse@redhat.com> - 3.0.4-1
|
||||||
- Resolves: rhbz#1828295
|
- New upstream release
|
||||||
|
|
||||||
- Add explicit spausedd dependency for revdeps CI test
|
* Fri Mar 27 2020 Jan Friesse <jfriesse@redhat.com> - 3.0.3-3
|
||||||
|
- Add CI tests
|
||||||
|
- Enable gating
|
||||||
|
|
||||||
* Mon Nov 25 2019 Jan Friesse <jfriesse@redhat.com> - 3.0.3-2
|
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.3-2
|
||||||
- Related: rhbz#1745623
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||||
|
|
||||||
- New upstream release of spausedd
|
|
||||||
|
|
||||||
* Mon Nov 25 2019 Jan Friesse <jfriesse@redhat.com> - 3.0.3-1
|
* Mon Nov 25 2019 Jan Friesse <jfriesse@redhat.com> - 3.0.3-1
|
||||||
- Resolves: rhbz#1745623
|
|
||||||
|
|
||||||
- New upstream release
|
- New upstream release
|
||||||
|
|
||||||
* Wed Oct 30 2019 Jan Friesse <jfriesse@redhat.com> 3.0.2-4
|
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.2-2
|
||||||
- Resolves: rhbz#1745624
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||||
- Resolves: rhbz#1745642
|
|
||||||
- Resolves: rhbz#1749263
|
|
||||||
- Resolves: rhbz#1765025
|
|
||||||
|
|
||||||
- totem: fix check if all nodes have same number of links (rhbz#1749263)
|
* Wed Jun 12 2019 Jan Friesse <jfriesse@redhat.com> - 3.0.2-1
|
||||||
- merge upstream commit 816324c94cfb917b11f43954b8757424db28b390 (rhbz#1749263)
|
- New upstream release
|
||||||
- totem: Increase ring_id seq after load (rhbz#1745624)
|
|
||||||
- merge upstream commit 3675daceeeeb72af043f5c051daed463fdd2d2a1 (rhbz#1745624)
|
|
||||||
- man: Fix link_mode priority description (rhbz#1745642)
|
|
||||||
- merge upstream commit 0a323ff2ed0f2aff9cb691072906e69cb96ed662 (rhbz#1745642)
|
|
||||||
- totemsrp: Reduce MTU to left room second mcast (rhbz#1765025)
|
|
||||||
- merge upstream commit ee8b8993d98b3f6af9c058194228fc534fcd0796 (rhbz#1765025)
|
|
||||||
|
|
||||||
* Tue Aug 06 2019 Jan Friesse <jfriesse@redhat.com> - 3.0.2-3
|
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.1-2
|
||||||
- Resolves: rhbz#1738218
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||||
|
|
||||||
- Do not set exec permission for service file
|
* Tue Jan 15 2019 Jan Friesse <jfriesse@redhat.com> - 3.0.1-1
|
||||||
- Fix CFLAGS definition
|
- New upstream release
|
||||||
|
|
||||||
* Thu Jun 13 2019 Jan Friesse <jfriesse@redhat.com> 3.0.2-2
|
|
||||||
- Related: rhbz#1679656
|
|
||||||
|
|
||||||
- Improve spausedd test
|
|
||||||
|
|
||||||
* Wed Jun 12 2019 Jan Friesse <jfriesse@redhat.com> 3.0.2-1
|
|
||||||
- Resolves: rhbz#1705591
|
|
||||||
- Resolves: rhbz#1688889
|
|
||||||
|
|
||||||
* Mon May 13 2019 Jan Friesse <jfriesse@redhat.com> 3.0.0-4
|
|
||||||
- Related: rhbz#1679656
|
|
||||||
|
|
||||||
- Really add gating
|
|
||||||
|
|
||||||
* Mon May 13 2019 Jan Friesse <jfriesse@redhat.com> 3.0.0-3
|
|
||||||
- Resolves: rhbz#1691401
|
|
||||||
- Related: rhbz#1679656
|
|
||||||
|
|
||||||
- Add spausedd subpackage
|
|
||||||
- Add gating tests
|
|
||||||
|
|
||||||
* Fri Jan 11 2019 Jan Friesse <jfriesse@redhat.com> 3.0.0-2
|
|
||||||
- Resolves: rhbz#1665211
|
|
||||||
|
|
||||||
- totemip: Use AF_UNSPEC for ipv4-6 and ipv6-4 (rhbz#1665211)
|
|
||||||
- merge upstream commit 2ab4d4188670356dcb82a80f2fc4598f5145c77d (rhbz#1665211)
|
|
||||||
|
|
||||||
* Fri Dec 14 2018 Jan Friesse <jfriesse@redhat.com> - 3.0.0-1
|
* Fri Dec 14 2018 Jan Friesse <jfriesse@redhat.com> - 3.0.0-1
|
||||||
- Resolves: rhbz#1600915
|
|
||||||
|
|
||||||
- New upstream release
|
- New upstream release
|
||||||
|
|
||||||
* Tue Dec 11 2018 Jan Friesse <jfriesse@redhat.com> 2.99.5-2
|
|
||||||
- Resolves: rhbz#1654630
|
|
||||||
|
|
||||||
- man: Add some information about address resolution (rhbz#1654630)
|
|
||||||
- merge upstream commit 8d50bd946dd7e01da75f06da3f885e7dc82f4f12 (rhbz#1654630)
|
|
||||||
- config: Look up hostnames in a defined order (rhbz#1654630)
|
|
||||||
- merge upstream commit 3d7f136f86a56dd9d9caa9060f7a01e8b681eb7f (rhbz#1654630)
|
|
||||||
|
|
||||||
* Fri Dec 7 2018 Jan Friesse <jfriesse@redhat.com> - 2.99.5-1
|
* Fri Dec 7 2018 Jan Friesse <jfriesse@redhat.com> - 2.99.5-1
|
||||||
- Related: rhbz#1600915
|
|
||||||
|
|
||||||
- New upstream release
|
- New upstream release
|
||||||
|
|
||||||
* Tue Dec 4 2018 Jan Friesse <jfriesse@redhat.com> - 2.99.4-2
|
* Tue Dec 4 2018 Jan Friesse <jfriesse@redhat.com> - 2.99.4-2
|
||||||
- Resolves: rhbz#1655179
|
|
||||||
|
|
||||||
- Add libknet1-crypto-nss-plugin dependency
|
- Add libknet1-crypto-nss-plugin dependency
|
||||||
|
|
||||||
* Tue Nov 20 2018 Jan Friesse <jfriesse@redhat.com> - 2.99.4-1
|
* Tue Nov 20 2018 Jan Friesse <jfriesse@redhat.com> - 2.99.4-1
|
||||||
- Related: rhbz#1600915
|
|
||||||
|
|
||||||
- New upstream release
|
- New upstream release
|
||||||
|
|
||||||
* Mon Oct 15 2018 Jan Friesse <jfriesse@redhat.com> 2.99.3-5
|
* Thu Aug 16 2018 Jan Pokorný <jpokorny+rpm-corosync@redhat.com> - 2.99.3-3
|
||||||
- Resolves: rhbz#1639211
|
- Rebuild again, since the previous one was so unfortunate it got affected
|
||||||
|
with binutils (2.31.1-3.fc29) producing non-monotonically increasing
|
||||||
|
section offsets causing unprepared eu-strip to damage the binary
|
||||||
|
(related: rhbz#1609577)
|
||||||
|
- Apply patch to prevent redundancy in systemd journal
|
||||||
|
|
||||||
- config: Fix crash in reload if new interfaces are added (rhbz#1639211)
|
* Tue Jul 24 2018 Adam Williamson <awilliam@redhat.com> - 2.99.3-2
|
||||||
- merge upstream commit 9f2d5a3a3faa8bd1021b505bcf3c5428b3435e39 (rhbz#1639211)
|
- Rebuild for new net-snmp
|
||||||
|
|
||||||
* Tue Sep 18 2018 Jan Friesse <jfriesse@redhat.com> 2.99.3-4
|
|
||||||
- Related: rhbz#1615945
|
|
||||||
|
|
||||||
- Rebuild for new LibQB
|
|
||||||
|
|
||||||
* Mon Aug 20 2018 Jan Friesse <jfriesse@redhat.com> 2.99.3-3
|
|
||||||
- Resolves: rhbz#1602409
|
|
||||||
|
|
||||||
- Remove libcgroup (rhbz#1602409)
|
|
||||||
- merge upstream commit c9e5d6db13fa965d83e27a3b664477e9b5b26edf (rhbz#1602409)
|
|
||||||
|
|
||||||
* Mon Jul 30 2018 Florian Weimer <fweimer@redhat.com> - 2.99.3-2
|
|
||||||
- Rebuild with fixed binutils
|
|
||||||
|
|
||||||
* Fri Jul 13 2018 Jan Friesse <jfriesse@redhat.com> - 2.99.3-1
|
* Fri Jul 13 2018 Jan Friesse <jfriesse@redhat.com> - 2.99.3-1
|
||||||
- New upstream release
|
- New upstream release
|
||||||
|
|
||||||
|
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.99.2-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||||
|
|
||||||
* Mon Apr 30 2018 Jan Friesse <jfriesse@redhat.com> - 2.99.2-1
|
* Mon Apr 30 2018 Jan Friesse <jfriesse@redhat.com> - 2.99.2-1
|
||||||
- New upstream release
|
- New upstream release
|
||||||
|
|
15
gating.yaml
Normal file
15
gating.yaml
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
--- !Policy
|
||||||
|
product_versions:
|
||||||
|
- fedora-*
|
||||||
|
decision_context: bodhi_update_push_testing
|
||||||
|
subject_type: koji_build
|
||||||
|
rules:
|
||||||
|
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
|
||||||
|
|
||||||
|
--- !Policy
|
||||||
|
product_versions:
|
||||||
|
- fedora-*
|
||||||
|
decision_context: bodhi_update_push_stable
|
||||||
|
subject_type: koji_build
|
||||||
|
rules:
|
||||||
|
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
|
1
sources
Normal file
1
sources
Normal file
@ -0,0 +1 @@
|
|||||||
|
SHA512 (corosync-3.1.9.tar.gz) = d5332c65535dd40e3bee48912ebf2e71c55380b3dba93c36ff8b74090edf3ec44b69685cd11fda3732e4b0dab0b2954f08be94d772fcff6aaf9a4a846ef2e4cc
|
3
tests/.gitignore
vendored
Normal file
3
tests/.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
# Ignore tests runs/artefacts.
|
||||||
|
artifacts/**
|
||||||
|
**/*.retry
|
623
tests/smoke/runtest.sh
Normal file
623
tests/smoke/runtest.sh
Normal file
@ -0,0 +1,623 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# This file was autogenerated at 2019-05-13T13:43:38+02:00 from 90bd97ada89befa1a63133335a419ad7311c3d75
|
||||||
|
|
||||||
|
# Copyright (c) 2019, Red Hat, Inc.
|
||||||
|
#
|
||||||
|
# Permission to use, copy, modify, and/or distribute this software for any
|
||||||
|
# purpose with or without fee is hereby granted, provided that the above
|
||||||
|
# copyright notice and this permission notice appear in all copies.
|
||||||
|
#
|
||||||
|
# THE SOFTWARE IS PROVIDED "AS IS" AND RED HAT, INC. DISCLAIMS ALL WARRANTIES
|
||||||
|
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
|
||||||
|
# OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL RED HAT, INC. BE LIABLE
|
||||||
|
# FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||||
|
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
|
||||||
|
# OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
|
||||||
|
# CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
#
|
||||||
|
# Author: Jan Friesse <jfriesse@redhat.com>
|
||||||
|
|
||||||
|
|
||||||
|
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
# !!! Script overwrites corosync.conf, authkey and qdevice/qnetd certificates !!!
|
||||||
|
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
|
||||||
|
# Home https://github.com/jfriesse/csts/tree/master/smoke
|
||||||
|
|
||||||
|
# -e is really important
|
||||||
|
set -xe
|
||||||
|
set -o pipefail
|
||||||
|
|
||||||
|
# Variables changing test behavior
|
||||||
|
PREFIX="/"
|
||||||
|
|
||||||
|
COROSYNC_SYSCONFD="${PREFIX}etc/corosync"
|
||||||
|
COROSYNC_CONF="${COROSYNC_SYSCONFD}/corosync.conf"
|
||||||
|
COROSYNC_AUTHKEY="${COROSYNC_SYSCONFD}/authkey"
|
||||||
|
COROSYNC_CLUSTER_NAME="smoketestcluster"
|
||||||
|
|
||||||
|
TOKEN_TIMEOUT=1000
|
||||||
|
MAX_REPEATS=60
|
||||||
|
|
||||||
|
####################
|
||||||
|
# Helper functions #
|
||||||
|
####################
|
||||||
|
get_ip() {
|
||||||
|
ip_res=$(ip route get 8.8.8.8)
|
||||||
|
# Format is "8.8.8.8 via ROUTE_IPADDR dev DEV src IPADDR uid NUMBER"
|
||||||
|
# Remove everything up to "src " and then everything after " "
|
||||||
|
addr=${ip_res##*src }
|
||||||
|
addr=${addr%% *}
|
||||||
|
|
||||||
|
echo "$addr"
|
||||||
|
}
|
||||||
|
|
||||||
|
# generate_corosync_conf crypto [token] [qdevice]
|
||||||
|
# crypto can be on or off
|
||||||
|
# when token is defined it is used for token timeout
|
||||||
|
# when qdevice is set to on qdevice section is created and second node is added
|
||||||
|
generate_corosync_conf() {
|
||||||
|
case "$1" in
|
||||||
|
"on")
|
||||||
|
cipher="aes256"
|
||||||
|
hash="sha256"
|
||||||
|
;;
|
||||||
|
"off")
|
||||||
|
cipher="none"
|
||||||
|
hash="none"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
# Unknown crypto
|
||||||
|
exit 1
|
||||||
|
esac
|
||||||
|
|
||||||
|
token=$TOKEN_TIMEOUT
|
||||||
|
if [ ! -z "$2" ];then
|
||||||
|
token="$2"
|
||||||
|
fi
|
||||||
|
qdevice="$3"
|
||||||
|
true_command=`which true`
|
||||||
|
|
||||||
|
cat << _EOF_
|
||||||
|
totem {
|
||||||
|
version: 2
|
||||||
|
cluster_name: $COROSYNC_CLUSTER_NAME
|
||||||
|
transport: knet
|
||||||
|
crypto_cipher: $cipher
|
||||||
|
crypto_hash: $hash
|
||||||
|
token: $token
|
||||||
|
}
|
||||||
|
|
||||||
|
logging {
|
||||||
|
to_logfile: yes
|
||||||
|
logfile: /var/log/cluster/corosync.log
|
||||||
|
to_syslog: yes
|
||||||
|
}
|
||||||
|
|
||||||
|
quorum {
|
||||||
|
provider: corosync_votequorum
|
||||||
|
_EOF_
|
||||||
|
|
||||||
|
if [ "$qdevice" == "on" ];then
|
||||||
|
cat << _EOF_
|
||||||
|
device {
|
||||||
|
votes: 1
|
||||||
|
model: net
|
||||||
|
net {
|
||||||
|
host: $LOCAL_IP
|
||||||
|
algorithm: ffsplit
|
||||||
|
}
|
||||||
|
heuristics {
|
||||||
|
mode: sync
|
||||||
|
exec_true: $true_command
|
||||||
|
}
|
||||||
|
}
|
||||||
|
_EOF_
|
||||||
|
fi
|
||||||
|
|
||||||
|
cat << _EOF_
|
||||||
|
}
|
||||||
|
|
||||||
|
nodelist {
|
||||||
|
node {
|
||||||
|
nodeid: 1
|
||||||
|
ring0_addr: $LOCAL_IP
|
||||||
|
}
|
||||||
|
_EOF_
|
||||||
|
|
||||||
|
if [ "$qdevice" == "on" ];then
|
||||||
|
cat << _EOF_
|
||||||
|
node {
|
||||||
|
nodeid: 2
|
||||||
|
ring0_addr: 192.0.2.2
|
||||||
|
}
|
||||||
|
_EOF_
|
||||||
|
fi
|
||||||
|
|
||||||
|
cat << _EOF_
|
||||||
|
}
|
||||||
|
_EOF_
|
||||||
|
}
|
||||||
|
|
||||||
|
# service_start service
|
||||||
|
service_start() {
|
||||||
|
# service service must be inactive
|
||||||
|
systemctl is-active "$1" && exit 1 || true
|
||||||
|
|
||||||
|
systemctl start "$1"
|
||||||
|
|
||||||
|
systemctl is-active "$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
# service_stop service
|
||||||
|
service_stop() {
|
||||||
|
systemctl is-active "$1" || exit 1
|
||||||
|
|
||||||
|
systemctl stop "$1"
|
||||||
|
|
||||||
|
systemctl is-active "$1" && exit 1 || true
|
||||||
|
}
|
||||||
|
|
||||||
|
######################
|
||||||
|
# Computed variables #
|
||||||
|
######################
|
||||||
|
LOCAL_IP=$(get_ip)
|
||||||
|
|
||||||
|
##################
|
||||||
|
# C test sources #
|
||||||
|
##################
|
||||||
|
|
||||||
|
# Test sources are encoded as a base64 string and piped to base64 to store them in /tmp
|
||||||
|
# corosync-api-test.c
|
||||||
|
echo "LyoKICogQ29weXJpZ2h0IChjKSAyMDE5LCBSZWQgSGF0LCBJbmMuCiAqCiAqIFBlcm1pc3Npb24g
|
||||||
|
dG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZC9vciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9y
|
||||||
|
IGFueQogKiBwdXJwb3NlIHdpdGggb3Igd2l0aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQsIHBy
|
||||||
|
b3ZpZGVkIHRoYXQgdGhlIGFib3ZlCiAqIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlz
|
||||||
|
c2lvbiBub3RpY2UgYXBwZWFyIGluIGFsbCBjb3BpZXMuCiAqCiAqIFRIRSBTT0ZUV0FSRSBJUyBQ
|
||||||
|
Uk9WSURFRCAiQVMgSVMiIEFORCBSRUQgSEFULCBJTkMuIERJU0NMQUlNUyBBTEwgV0FSUkFOVElF
|
||||||
|
UwogKiBXSVRIIFJFR0FSRCBUTyBUSElTIFNPRlRXQVJFIElOQ0xVRElORyBBTEwgSU1QTElFRCBX
|
||||||
|
QVJSQU5USUVTCiAqIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQg
|
||||||
|
U0hBTEwgUkVEIEhBVCwgSU5DLiBCRSBMSUFCTEUKICogRk9SIEFOWSBTUEVDSUFMLCBESVJFQ1Qs
|
||||||
|
IElORElSRUNULCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMKICogV0hB
|
||||||
|
VFNPRVZFUiBSRVNVTFRJTkcgRlJPTSBMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVU
|
||||||
|
SEVSIElOIEFOIEFDVElPTgogKiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUiBPVEhFUiBUT1JU
|
||||||
|
SU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElOCiAqIENPTk5FQ1RJT04gV0lUSCBUSEUg
|
||||||
|
VVNFIE9SIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuCiAqCiAqIEF1dGhvcjogSmFuIEZy
|
||||||
|
aWVzc2UgPGpmcmllc3NlQHJlZGhhdC5jb20+CiAqLwoKLyoKICogU2ltcGxlIHRlc3Qgb2YgQ1BH
|
||||||
|
IGNhbGxiYWNrcy4gUHJvZ3JhbSBpbml0aWFsbHkgam9pbnMgQ1BHIGdyb3VwLCB3YWl0cyBmb3IK
|
||||||
|
ICogY3BnX2NvbmZjaGcgYW5kIGNwZ190b3RlbV9jb25mY2hnIGNhbGxiYWNrcyBhbmQgdGhlbiBz
|
||||||
|
dGFydHMgbG9vcCBvZiBzZW5kaW5nCiAqIGFuZCB3YWl0aW5nIGZvciB0aGUgbWVzc2FnZS4gTWVz
|
||||||
|
c2FnZSBoYXMgcmFuZG9tIGxlbmd0aCAodXAtdG8gTUFYX01TR19MRU4pCiAqIGFuZCByYW5kb20g
|
||||||
|
Y29udGVudC4gcmFuZF9yIGlzIHVzZWQgZm9yIHJhbmRvbSBudW1iZXIgZ2VuZXJhdGluZy4gTWVz
|
||||||
|
c2FnZQogKiBpcyBjaGVja2VkIG9uIGRlbGl2ZXJ5IGJ5IGlzc3Vpbmcgc2FtZSByYW5kX3IuIFNl
|
||||||
|
ZWQgZm9yIHJhbmRfciBhcmUKICogc3RvcmVkIGluIHNlbnRfcmFuZF9zZWVkIGFuZCByZWNlaXZl
|
||||||
|
ZF9yYW5kX3NlZWQgdmFyaWFibGVzLgogKgogKiBUaGlzIHRlc3QgY2hlY2tzIGZvbGxvd2luZyBD
|
||||||
|
UEcgcHJvcGVydGllczoKICogLSBQcm9jZXNzIGNhbiBqb2luIENQRyBncm91cAogKiAtIEJvdGgg
|
||||||
|
Y3BnX2NvbmZjaGcgYW5kIGNwZ190b3RlbV9jb25mY2hnIGNhbGxiYWNrcyBhcmUgcmVjZWl2ZWQg
|
||||||
|
d2l0aAogKiAgIG9ubHkgb25lIG5vZGUgYW5kIG9ubHkgb25lIHByb2Nlc3MgaW4gdGhlcmUKICog
|
||||||
|
LSBNZXNzYWdlcyBhcmUgc2VudCBhbmQgcmVjZWl2ZWQgd2l0aG91dCBhbnkgY29ycnVwdGlvbgog
|
||||||
|
Ki8KCiNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KCiNpbmNs
|
||||||
|
dWRlIDxhc3NlcnQuaD4KI2luY2x1ZGUgPGVycm5vLmg+CiNpbmNsdWRlIDxpbnR0eXBlcy5oPgoj
|
||||||
|
aW5jbHVkZSA8cG9sbC5oPgojaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1ZGUgPHN0ZGxpYi5oPgoj
|
||||||
|
aW5jbHVkZSA8c3RyaW5nLmg+CiNpbmNsdWRlIDx1bmlzdGQuaD4KCiNpbmNsdWRlIDxjb3Jvc3lu
|
||||||
|
Yy9jb3JvdHlwZXMuaD4KI2luY2x1ZGUgPGNvcm9zeW5jL2NwZy5oPgoKLyoKICogUHJlZGVmaW5l
|
||||||
|
ZCB0ZXN0IGNvbnN0YW50cwogKi8KI2RlZmluZSBURVNUX05PREVJRAkJMQojZGVmaW5lIFRFU1Rf
|
||||||
|
R1JPVVBfTkFNRQkJInNtb2tlLWFwaS10ZXN0LWNwZy1ncm91cCIKI2RlZmluZSBNQVhfUkVUUklF
|
||||||
|
UwkJMzAKI2RlZmluZSBNQVhfTVNHX0xFTgkJKDEwMjQgKiAxMjgpCiNkZWZpbmUgTUVTU0FHRVNf
|
||||||
|
VE9fU0VOVAkxMjgKCi8qCiAqIFVzZWZ1bCBtYWNyb3MKICovCiNkZWZpbmUgY3NfcmVwZWF0KGNv
|
||||||
|
ZGUpIGRvIHsJCQkJXAoJaW50IGNzX3JlcGVhdF9jb3VudGVyID0gMDsJCQlcCglkbyB7CQkJCQkJ
|
||||||
|
XAoJCWlmICgoY29kZSkgPT0gQ1NfRVJSX1RSWV9BR0FJTikgewlcCgkJCWNzX3JlcGVhdF9jb3Vu
|
||||||
|
dGVyKys7CQlcCgkJCXBvbGwoTlVMTCwgMCwgMTAwMCk7CQlcCgkJfSBlbHNlIHsJCQkJXAoJCQli
|
||||||
|
cmVhazsJCQkJXAoJCX0JCQkJCVwKCX0gd2hpbGUgKGNzX3JlcGVhdF9jb3VudGVyIDwgTUFYX1JF
|
||||||
|
VFJJRVMpOwlcCn0gd2hpbGUgKDApCgojaWZuZGVmIElORlRJTQojZGVmaW5lIElORlRJTQkJCS0x
|
||||||
|
CiNlbmRpZgoKI2RlZmluZSBFTlRFUigpIHByaW50ZigiKyAlczoldSAlc1xuIiwgX19GSUxFX18s
|
||||||
|
IF9fTElORV9fLCBfX2Z1bmNfXykKI2RlZmluZSBMRUFWRSgpIHByaW50ZigiLSAlczoldSAlc1xu
|
||||||
|
IiwgX19GSUxFX18sIF9fTElORV9fLCBfX2Z1bmNfXykKCnN0YXRpYyBpbnQgY3BnX2NvbmZjaGdf
|
||||||
|
cmVjZWl2ZWQgPSAwOwpzdGF0aWMgaW50IGNwZ190b3RlbV9jb25mY2hnX3JlY2VpdmVkID0gMDsK
|
||||||
|
Ci8qCiAqIGJvdGggcmFuZCBzZWVkcyBtdXN0IGJlIGluIHN5bmMKICovCnN0YXRpYyB1bnNpZ25l
|
||||||
|
ZCBpbnQgc2VudF9yYW5kX3NlZWQgPSAwOwpzdGF0aWMgdW5zaWduZWQgaW50IHJlY2VpdmVkX3Jh
|
||||||
|
bmRfc2VlZCA9IDA7CnN0YXRpYyB1aW50MzJfdCBzZW50X21zZ19zZXFfbm8gPSAwOwpzdGF0aWMg
|
||||||
|
dWludDMyX3QgcmVjZWl2ZWRfbXNnX3NlcV9ubyA9IDA7CgpzdHJ1Y3QgdGVzdF9tc2cgewoJdWlu
|
||||||
|
dDMyX3Qgc2VxX25vIF9fYXR0cmlidXRlX18gKChhbGlnbmVkICg4KSkpOwoJdWludDMyX3QgZGF0
|
||||||
|
YV9sZW4gX19hdHRyaWJ1dGVfXyAoKGFsaWduZWQgKDgpKSk7Cgl1bnNpZ25lZCBjaGFyIGRhdGFb
|
||||||
|
MF0gX19hdHRyaWJ1dGVfXyAoKGFsaWduZWQgKDgpKSk7Cn07CgpzdGF0aWMgdm9pZApEZWxpdmVy
|
||||||
|
Q2FsbGJhY2soY3BnX2hhbmRsZV90IGhhbmRsZSwKICAgIGNvbnN0IHN0cnVjdCBjcGdfbmFtZSAq
|
||||||
|
Z3JvdXBOYW1lLAogICAgdWludDMyX3Qgbm9kZWlkLAogICAgdWludDMyX3QgcGlkLAogICAgdm9p
|
||||||
|
ZCAqY3BnX21zZywKICAgIHNpemVfdCBjcGdfbXNnX2xlbikKewoJc3RydWN0IHRlc3RfbXNnICpt
|
||||||
|
c2c7Cgl1aW50MzJfdCB1MzI7CgoJRU5URVIoKTsKCglhc3NlcnQobm9kZWlkID09IFRFU1RfTk9E
|
||||||
|
RUlEKTsKCWFzc2VydChwaWQgPT0gZ2V0cGlkKCkpOwoKCWFzc2VydChjcGdfbXNnX2xlbiA+PSBz
|
||||||
|
aXplb2Yoc3RydWN0IHRlc3RfbXNnKSk7CgoJbXNnID0gKHN0cnVjdCB0ZXN0X21zZyAqKWNwZ19t
|
||||||
|
c2c7Cglhc3NlcnQobXNnLT5zZXFfbm8gPT0gcmVjZWl2ZWRfbXNnX3NlcV9ubyk7CglyZWNlaXZl
|
||||||
|
ZF9tc2dfc2VxX25vKys7CgoJYXNzZXJ0KGNwZ19tc2dfbGVuID09IG1zZy0+ZGF0YV9sZW4gKyBz
|
||||||
|
aXplb2Yoc3RydWN0IHRlc3RfbXNnKSk7CgoJLyoKCSAqIE1lc3NhZ2UgaGFzIGV4cGVjdGVkIGxl
|
||||||
|
bmd0aCBhbmQgY29udGVudAoJICovCglhc3NlcnQobXNnLT5kYXRhX2xlbiA9PSAodWludDMyX3Qp
|
||||||
|
KHJhbmRfcigmcmVjZWl2ZWRfcmFuZF9zZWVkKSAlIE1BWF9NU0dfTEVOKSk7CgoJZm9yICh1MzIg
|
||||||
|
PSAwOyB1MzIgPCBtc2ctPmRhdGFfbGVuOyB1MzIrKykgewoJCWFzc2VydChtc2ctPmRhdGFbdTMy
|
||||||
|
XSA9PSAodW5zaWduZWQgY2hhcilyYW5kX3IoJnJlY2VpdmVkX3JhbmRfc2VlZCkpOwoJfQoKCUxF
|
||||||
|
QVZFKCk7Cn0KCnN0YXRpYyB2b2lkClRvdGVtQ29uZmNoZ0NhbGxiYWNrKGNwZ19oYW5kbGVfdCBo
|
||||||
|
YW5kbGUsCiAgICBzdHJ1Y3QgY3BnX3JpbmdfaWQgcmluZ19pZCwKICAgIHVpbnQzMl90IG1lbWJl
|
||||||
|
cl9saXN0X2VudHJpZXMsCiAgICBjb25zdCB1aW50MzJfdCAqbWVtYmVyX2xpc3QpCnsKCglFTlRF
|
||||||
|
UigpOwoKCWFzc2VydChtZW1iZXJfbGlzdF9lbnRyaWVzID09IDEpOwoJYXNzZXJ0KG1lbWJlcl9s
|
||||||
|
aXN0WzBdID09IFRFU1RfTk9ERUlEKTsKCgljcGdfdG90ZW1fY29uZmNoZ19yZWNlaXZlZCA9IDE7
|
||||||
|
CgoJTEVBVkUoKTsKfQoKc3RhdGljIHZvaWQKQ29uZmNoZ0NhbGxiYWNrKGNwZ19oYW5kbGVfdCBo
|
||||||
|
YW5kbGUsCiAgICBjb25zdCBzdHJ1Y3QgY3BnX25hbWUgKmdyb3VwX25hbWUsCiAgICBjb25zdCBz
|
||||||
|
dHJ1Y3QgY3BnX2FkZHJlc3MgKm1lbWJlcl9saXN0LCBzaXplX3QgbWVtYmVyX2xpc3RfZW50cmll
|
||||||
|
cywKICAgIGNvbnN0IHN0cnVjdCBjcGdfYWRkcmVzcyAqbGVmdF9saXN0LCBzaXplX3QgbGVmdF9s
|
||||||
|
aXN0X2VudHJpZXMsCiAgICBjb25zdCBzdHJ1Y3QgY3BnX2FkZHJlc3MgKmpvaW5lZF9saXN0LCBz
|
||||||
|
aXplX3Qgam9pbmVkX2xpc3RfZW50cmllcykKewoKCUVOVEVSKCk7CgoJYXNzZXJ0KGdyb3VwX25h
|
||||||
|
bWUtPmxlbmd0aCA9PSBzdHJsZW4oVEVTVF9HUk9VUF9OQU1FKSk7Cglhc3NlcnQobWVtY21wKGdy
|
||||||
|
b3VwX25hbWUtPnZhbHVlLCBURVNUX0dST1VQX05BTUUsIHN0cmxlbihURVNUX0dST1VQX05BTUUp
|
||||||
|
KSA9PSAwKTsKCWFzc2VydChtZW1iZXJfbGlzdF9lbnRyaWVzID09IDEpOwoJYXNzZXJ0KG1lbWJl
|
||||||
|
cl9saXN0WzBdLm5vZGVpZCA9PSBURVNUX05PREVJRCk7Cglhc3NlcnQobWVtYmVyX2xpc3RbMF0u
|
||||||
|
cGlkID09IGdldHBpZCgpKTsKCgljcGdfY29uZmNoZ19yZWNlaXZlZCA9IDE7CgoJTEVBVkUoKTsK
|
||||||
|
fQoKc3RhdGljIGNwZ19tb2RlbF92MV9kYXRhX3QgbW9kZWxfZGF0YSA9IHsKCS5jcGdfZGVsaXZl
|
||||||
|
cl9mbiA9CURlbGl2ZXJDYWxsYmFjaywKCS5jcGdfY29uZmNoZ19mbiA9CUNvbmZjaGdDYWxsYmFj
|
||||||
|
aywKCS5jcGdfdG90ZW1fY29uZmNoZ19mbiA9CVRvdGVtQ29uZmNoZ0NhbGxiYWNrLAoJLmZsYWdz
|
||||||
|
ID0JCUNQR19NT0RFTF9WMV9ERUxJVkVSX0lOSVRJQUxfVE9URU1fQ09ORiwKfTsKCnN0YXRpYyB2
|
||||||
|
b2lkCnNlbmRfbXNnKGNwZ19oYW5kbGVfdCBjcGdfaGFuZGxlKQp7CglzdHJ1Y3QgdGVzdF9tc2cg
|
||||||
|
bXNnOwoJdW5zaWduZWQgY2hhciAqZGF0YTsKCXVpbnQzMl90IHUzMjsKCXN0cnVjdCBpb3ZlYyBp
|
||||||
|
b3ZbMl07Cgljc19lcnJvcl90IGNzX3JlczsKCglFTlRFUigpOwoKCW1zZy5kYXRhX2xlbiA9IHJh
|
||||||
|
bmRfcigmc2VudF9yYW5kX3NlZWQpICUgTUFYX01TR19MRU47Cgltc2cuc2VxX25vID0gc2VudF9t
|
||||||
|
c2dfc2VxX25vOwoKCXNlbnRfbXNnX3NlcV9ubysrOwoKCWRhdGEgPSBtYWxsb2Moc2l6ZW9mKHVu
|
||||||
|
c2lnbmVkIGNoYXIpICogbXNnLmRhdGFfbGVuKTsKCWFzc2VydChkYXRhICE9IE5VTEwpOwoKCWZv
|
||||||
|
ciAodTMyID0gMDsgdTMyIDwgbXNnLmRhdGFfbGVuOyB1MzIrKykgewoJCWRhdGFbdTMyXSA9ICh1
|
||||||
|
bnNpZ25lZCBjaGFyKXJhbmRfcigmc2VudF9yYW5kX3NlZWQpOwoJfQoKCWlvdlswXS5pb3ZfYmFz
|
||||||
|
ZSA9ICh2b2lkICopJm1zZzsKCWlvdlswXS5pb3ZfbGVuID0gc2l6ZW9mKG1zZyk7Cglpb3ZbMV0u
|
||||||
|
aW92X2Jhc2UgPSAodm9pZCAqKWRhdGE7Cglpb3ZbMV0uaW92X2xlbiA9IG1zZy5kYXRhX2xlbjsK
|
||||||
|
Cgljc19yZXMgPSBjcGdfbWNhc3Rfam9pbmVkKGNwZ19oYW5kbGUsIENQR19UWVBFX0FHUkVFRCwg
|
||||||
|
aW92LCAyKTsKCWFzc2VydChjc19yZXMgPT0gQ1NfT0spOwoKCWZyZWUoZGF0YSk7CgoJTEVBVkUo
|
||||||
|
KTsKfQoKc3RhdGljIHZvaWQKdGVzdF9jcGcodm9pZCkKewoJY3BnX2hhbmRsZV90IGNwZ19oYW5k
|
||||||
|
bGU7CglzdHJ1Y3QgY3BnX25hbWUgZ3JvdXBfbmFtZTsKCWNzX2Vycm9yX3QgY3NfcmVzOwoJdW5z
|
||||||
|
aWduZWQgaW50IGxvY2FsX25vZGVpZDsKCWludCBjcGdfZmQ7CglzdHJ1Y3QgcG9sbGZkIHBmZDsK
|
||||||
|
CWludCBwb2xsX3JlczsKCWludCBzdGF0ZTsKCWludCBjb250OwoKCUVOVEVSKCk7CgoJc3RhdGUg
|
||||||
|
PSAwOwoKCXN0cmNweShncm91cF9uYW1lLnZhbHVlLCBURVNUX0dST1VQX05BTUUpOwoJZ3JvdXBf
|
||||||
|
bmFtZS5sZW5ndGggPSBzdHJsZW4oVEVTVF9HUk9VUF9OQU1FKTsKCgljc19yZXBlYXQoY3NfcmVz
|
||||||
|
ID0gY3BnX21vZGVsX2luaXRpYWxpemUoJmNwZ19oYW5kbGUsIENQR19NT0RFTF9WMSwKCSAgICAo
|
||||||
|
Y3BnX21vZGVsX2RhdGFfdCAqKSZtb2RlbF9kYXRhLCBOVUxMKSk7Cglhc3NlcnQoY3NfcmVzID09
|
||||||
|
IENTX09LKTsKCgljc19yZXBlYXQoY3NfcmVzID0gY3BnX2pvaW4oY3BnX2hhbmRsZSwgJmdyb3Vw
|
||||||
|
X25hbWUpKTsKCWFzc2VydChjc19yZXMgPT0gQ1NfT0spOwoKCWNzX3JlcGVhdChjc19yZXMgPSBj
|
||||||
|
cGdfbG9jYWxfZ2V0KGNwZ19oYW5kbGUsICZsb2NhbF9ub2RlaWQpKTsKCWFzc2VydChjc19yZXMg
|
||||||
|
PT0gQ1NfT0spOwoJYXNzZXJ0KGxvY2FsX25vZGVpZCA9PSBURVNUX05PREVJRCk7CgoJY3NfcmVw
|
||||||
|
ZWF0KGNzX3JlcyA9IGNwZ19mZF9nZXQoY3BnX2hhbmRsZSwgJmNwZ19mZCkpOwoJYXNzZXJ0KGNz
|
||||||
|
X3JlcyA9PSBDU19PSyk7CgoJY29udCA9IDE7CgoJZG8gewoJCXBmZC5mZCA9IGNwZ19mZDsKCQlw
|
||||||
|
ZmQuZXZlbnRzID0gUE9MTElOOwoJCXBmZC5yZXZlbnRzID0gMDsKCgkJcG9sbF9yZXMgPSBwb2xs
|
||||||
|
KCZwZmQsIDEsIElORlRJTSk7CgkJaWYgKHBvbGxfcmVzID09IC0xKSB7CgkJCXBlcnJvcigicG9s
|
||||||
|
bF9yZXMgPT0gLTEiKTsKCQl9CgoJCWFzc2VydChwb2xsX3JlcyAhPSAwKTsKCQlhc3NlcnQocGZk
|
||||||
|
LnJldmVudHMgJiBQT0xMSU4pOwoKCQljc19yZXBlYXQoY3NfcmVzID0gY3BnX2Rpc3BhdGNoKGNw
|
||||||
|
Z19oYW5kbGUsIENTX0RJU1BBVENIX0FMTCkpOwoJCWFzc2VydChjc19yZXMgPT0gQ1NfT0spOwoK
|
||||||
|
CQlzd2l0Y2ggKHN0YXRlKSB7CgkJY2FzZSAwOgoJCQkvKgoJCQkgKiBXYWl0aW5nIGZvciBjcGdf
|
||||||
|
Y29uZmNoZ19yZWNlaXZlZCBhbmQgY3BnX3RvdGVtX2NvbmZjaGdfcmVjZWl2ZWQKCQkJICovCgkJ
|
||||||
|
CWlmIChjcGdfY29uZmNoZ19yZWNlaXZlZCAmJiBjcGdfdG90ZW1fY29uZmNoZ19yZWNlaXZlZCkg
|
||||||
|
ewoJCQkJLyoKCQkJCSAqIFNlbmQgZmlyc3QgbWVzc2FnZSBhbmQgd2FpdCBmb3IgaXQgaW4gbmV4
|
||||||
|
dCBzdGF0ZQoJCQkJICovCgkJCQlzZW5kX21zZyhjcGdfaGFuZGxlKTsKCQkJCXN0YXRlID0gMTsK
|
||||||
|
CQkJfQoJCQlicmVhazsKCQljYXNlIDE6CgkJCWlmIChyZWNlaXZlZF9tc2dfc2VxX25vID49IE1F
|
||||||
|
U1NBR0VTX1RPX1NFTlQpIHsKCQkJCWNvbnQgPSAwOwoJCQl9IGVsc2UgIGlmIChyZWNlaXZlZF9t
|
||||||
|
c2dfc2VxX25vID09IHNlbnRfbXNnX3NlcV9ubykgewoJCQkJLyoKCQkJCSAqIE1lc3NhZ2UgZGVs
|
||||||
|
aXZlcmVkIHNvIHNlbnQgbmV3IG9uZSBhbmQgd2FpdCBmb3IgaXQKCQkJCSAqLwoJCQkJc2VuZF9t
|
||||||
|
c2coY3BnX2hhbmRsZSk7CgkJCX0KCQkJYnJlYWs7CgkJfQoJfSB3aGlsZSAoY29udCk7CgoJY3Nf
|
||||||
|
cmVwZWF0KGNzX3JlcyA9IGNwZ19sZWF2ZShjcGdfaGFuZGxlLCAmZ3JvdXBfbmFtZSkpOwoJYXNz
|
||||||
|
ZXJ0KGNzX3JlcyA9PSBDU19PSyk7CgoJY3NfcmVwZWF0KGNzX3JlcyA9IGNwZ19maW5hbGl6ZShj
|
||||||
|
cGdfaGFuZGxlKSk7Cglhc3NlcnQoY3NfcmVzID09IENTX09LKTsKCglMRUFWRSgpOwp9CgppbnQK
|
||||||
|
bWFpbih2b2lkKQp7CgoJRU5URVIoKTsKCglzZXRsaW5lYnVmKHN0ZG91dCk7CgoJdGVzdF9jcGco
|
||||||
|
KTsKCglMRUFWRSgpOwoKCXJldHVybiAoMCk7Cn0K" | base64 -d | tee "/tmp/corosync-api-test.c"
|
||||||
|
# - corosync-api-test.c
|
||||||
|
# corosync-api-test-mp.c
|
||||||
|
echo "LyoKICogQ29weXJpZ2h0IChjKSAyMDE5LCBSZWQgSGF0LCBJbmMuCiAqCiAqIFBlcm1pc3Npb24g
|
||||||
|
dG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZC9vciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9y
|
||||||
|
IGFueQogKiBwdXJwb3NlIHdpdGggb3Igd2l0aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQsIHBy
|
||||||
|
b3ZpZGVkIHRoYXQgdGhlIGFib3ZlCiAqIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlz
|
||||||
|
c2lvbiBub3RpY2UgYXBwZWFyIGluIGFsbCBjb3BpZXMuCiAqCiAqIFRIRSBTT0ZUV0FSRSBJUyBQ
|
||||||
|
Uk9WSURFRCAiQVMgSVMiIEFORCBSRUQgSEFULCBJTkMuIERJU0NMQUlNUyBBTEwgV0FSUkFOVElF
|
||||||
|
UwogKiBXSVRIIFJFR0FSRCBUTyBUSElTIFNPRlRXQVJFIElOQ0xVRElORyBBTEwgSU1QTElFRCBX
|
||||||
|
QVJSQU5USUVTCiAqIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQg
|
||||||
|
U0hBTEwgUkVEIEhBVCwgSU5DLiBCRSBMSUFCTEUKICogRk9SIEFOWSBTUEVDSUFMLCBESVJFQ1Qs
|
||||||
|
IElORElSRUNULCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMKICogV0hB
|
||||||
|
VFNPRVZFUiBSRVNVTFRJTkcgRlJPTSBMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVU
|
||||||
|
SEVSIElOIEFOIEFDVElPTgogKiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUiBPVEhFUiBUT1JU
|
||||||
|
SU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElOCiAqIENPTk5FQ1RJT04gV0lUSCBUSEUg
|
||||||
|
VVNFIE9SIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuCiAqCiAqIEF1dGhvcjogSmFuIEZy
|
||||||
|
aWVzc2UgPGpmcmllc3NlQHJlZGhhdC5jb20+CiAqLwoKLyoKICogTWFpbiBwcm9jZXNzIGNyZWF0
|
||||||
|
ZXMgbXVsdGlwbGUgKE5PX0NISUxEUykgY2hpbGRzIGFuZCB3YWl0cyBmb3IgdGhlaXIgZXhpdC4K
|
||||||
|
ICogRWFjaCBjaGlsZCBqb2lucyBDUEcgZ3JvdXAgYW5kIHN0YXJ0cyBwcm9jZXNzaW5nIENQRyBl
|
||||||
|
dmVudHMuIEVhY2ggY2hpbGQgaXMKICogaWRlbnRpZmllZCBieSBJRCAobXlfaWQpIHdoaWNoIGlz
|
||||||
|
IHNldCBieSBtYWluIHByb2Nlc3MgaW4gaW5jcmVhc2luZyBvcmRlciAoc28KICogdmFsdWUgaXMg
|
||||||
|
MC4uTk9fQ0hJTERTLTEpLiBXaGVuIGFsbCBjaGlsZHMgam9pbiBDUEcgZ3JvdXAgKENvbmZjaGdD
|
||||||
|
YWxsYmFjayB2YXJpYWJsZQogKiBtZW1iZXJfbGlzdF9lbnRyaWVzIGlzIGVxdWFsIHRvIE5PX0NI
|
||||||
|
SUxEUykgdGhlbiBjaGlsZCB3aXRoIElEIDAgc2VuZHMgQ1BHIG1lc3NhZ2UKICogd2l0aCByYW5k
|
||||||
|
b20gbGVuZ3RoICh1cC10byBNQVhfTVNHX0xFTikgYW5kIHJhbmRvbSBjb250ZW50LiBXaGVuIGNo
|
||||||
|
aWxkIHdpdGggSUQgMQogKiByZWNlaXZlcyBtZXNzYWdlIGlzc3VlZCBieSBjaGlsZCB3aXRoIElE
|
||||||
|
IDAsIGl0IHNlbmRzIGFub3RoZXIgcmFuZG9tIG1lc3NhZ2UuCiAqIFRoaXMgcHJvY2VzcyBjb250
|
||||||
|
aW51ZXMgd2l0aCBjaGlsZCB3aXRoIElEIDIsIHRoZW4gd2l0aCBjaGlsZCAzLCAuLi4gTk9fQ0hJ
|
||||||
|
TERTIC0gMSBhbmQKICogdGhlbiBvdmVybGFwcyBiYWNrIHRvIDAuIEVhY2ggY2hpbGQgY29tcGFy
|
||||||
|
ZXMgcmVjZWl2ZWQgbWVzc2FnZSBieSBnZW5lcmF0aW5nIHNhbWUKICogcmFuZG9tIG51bWJlcnMg
|
||||||
|
KHJhbmRfciBmdW5jdGlvbiBpcyB1c2VkKSBzdHJlYW0gYXMgc2VuZGVyIHNvIHNlbnRfcmFuZF9z
|
||||||
|
ZWVkIGFuZAogKiByZWNlaXZlZF9yYW5kX3NlZWQgbXVzdCBiZSBrZXB0IGluIHN5bmMuIEtlZXBp
|
||||||
|
bmcgcmVjZWllZF9yYW5kX3NlZWQgaW4gc3luYyBpcwogKiBzaW1wbGUsIGJlY2F1c2UgaXQgaXMg
|
||||||
|
dXBkYXRlZCBldmVyeSB0aW1lIHdoZW4gbWVzc2FnZSBpcyByZWNlaXZlZC4KICogc2VudF9yYW5k
|
||||||
|
X3NlZWQgaXMgdXBkYXRlZCBldGhlciBieSBzZW5kaW5nIG1lc3NhZ2Ugb3IgYnkKICogY2FsbGlu
|
||||||
|
ZyBhZGp1c3Rfc2VudF9yYW5kX3NlZWQgZnVuY3Rpb24uCiAqCiAqIFRoaXMgdGVzdCBjaGVja3Mg
|
||||||
|
Zm9sbG93aW5nIHByb3BlcnRpZXMgQ1BHOgogKiAtIE1vcmUgdGhhbiBvbmUgY2xpZW50IGNhbiBq
|
||||||
|
b2luIENQRyBncm91cAogKiAtIEVhY2ggY2xpZW50IGV2ZW50dWFsbHkgc2VlcyBhbGwgb3RoZXIg
|
||||||
|
Y2xpZW50cwogKiAtIEVhY2ggY2xpZW50IHJlY2VpdmVzIG1lc3NhZ2VzIHNlbnQgYnkgb3RoZXIg
|
||||||
|
Y2xpZW50cyBbMV0KICogLSBNZXNzYWdlIGlzIG5vdCBjb3JydXB0ZWQgWzFdCiAqIC0gTWVzc2Fn
|
||||||
|
ZXMgYXJlIGRlbGl2ZXJlZCB3aXRoIEZJRk8gcXVhcmFudGVlIFsxXQogKgogKiBbMV0gLSBFbnN1
|
||||||
|
cmVkIGJ5IGVxdWFsaXR5IG9mIHJhbmRfciBnZW5lcmF0ZWQgYnl0ZXMgd2hlcmUgc2VuZGVyIHNl
|
||||||
|
ZWQKICogICAgICAgKHNlbnRfcmFuZF9zZWVkKSBhbmQgcmVjZWl2ZXIgc2VlZCAocmVjZWl2ZWRf
|
||||||
|
cmFuZF9zZWVkKSBhcmUga2VwdCBpbgogKiAgICAgICBzeW5jLgogKi8KCiNpbmNsdWRlIDxzeXMv
|
||||||
|
dHlwZXMuaD4KI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KI2luY2x1ZGUgPHN5cy93YWl0Lmg+Cgoj
|
||||||
|
aW5jbHVkZSA8YXNzZXJ0Lmg+CiNpbmNsdWRlIDxlcnJuby5oPgojaW5jbHVkZSA8aW50dHlwZXMu
|
||||||
|
aD4KI2luY2x1ZGUgPHBvbGwuaD4KI2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIu
|
||||||
|
aD4KI2luY2x1ZGUgPHN0cmluZy5oPgojaW5jbHVkZSA8dW5pc3RkLmg+CgojaW5jbHVkZSA8Y29y
|
||||||
|
b3N5bmMvY29yb3R5cGVzLmg+CiNpbmNsdWRlIDxjb3Jvc3luYy9jcGcuaD4KCi8qCiAqIFByZWRl
|
||||||
|
ZmluZWQgdGVzdCBjb25zdGFudHMKICovCiNkZWZpbmUgVEVTVF9OT0RFSUQJCTEKI2RlZmluZSBU
|
||||||
|
RVNUX0dST1VQX05BTUUJCSJzbW9rZS1hcGktdGVzdC1jcGctZ3JvdXAtbXAiCiNkZWZpbmUgTUFY
|
||||||
|
X1JFVFJJRVMJCTMwCiNkZWZpbmUgTUFYX01TR19MRU4JCSgxMDI0ICogMTI4KQoKI2RlZmluZSBO
|
||||||
|
T19DSElMRFMJCTMKCiNkZWZpbmUgTUVTU0FHRVNfVE9fU0VOVAkoMTI4ICogTk9fQ0hJTERTKQoK
|
||||||
|
LyoKICogVXNlZnVsIG1hY3JvcwogKi8KI2RlZmluZSBjc19yZXBlYXQoY29kZSkgZG8gewkJCQlc
|
||||||
|
CglpbnQgY3NfcmVwZWF0X2NvdW50ZXIgPSAwOwkJCVwKCWRvIHsJCQkJCQlcCgkJaWYgKChjb2Rl
|
||||||
|
KSA9PSBDU19FUlJfVFJZX0FHQUlOKSB7CVwKCQkJY3NfcmVwZWF0X2NvdW50ZXIrKzsJCVwKCQkJ
|
||||||
|
cG9sbChOVUxMLCAwLCAxMDAwKTsJCVwKCQl9IGVsc2UgewkJCQlcCgkJCWJyZWFrOwkJCQlcCgkJ
|
||||||
|
fQkJCQkJXAoJfSB3aGlsZSAoY3NfcmVwZWF0X2NvdW50ZXIgPCBNQVhfUkVUUklFUyk7CVwKfSB3
|
||||||
|
aGlsZSAoMCkKCiNpZm5kZWYgSU5GVElNCiNkZWZpbmUgSU5GVElNCQkJLTEKI2VuZGlmCgojZGVm
|
||||||
|
aW5lIEVOVEVSKCkgcHJpbnRmKCJbJWxkXSArICVzOiV1ICVzXG4iLCAobG9uZyBzaWduZWQgaW50
|
||||||
|
KWdldHBpZCgpLCBfX0ZJTEVfXyxcCiAgICBfX0xJTkVfXywgX19mdW5jX18pCiNkZWZpbmUgTEVB
|
||||||
|
VkUoKSBwcmludGYoIlslbGRdIC0gJXM6JXUgJXNcbiIsIChsb25nIHNpZ25lZCBpbnQpZ2V0cGlk
|
||||||
|
KCksIF9fRklMRV9fLFwKICAgIF9fTElORV9fLCBfX2Z1bmNfXykKCnN0YXRpYyBpbnQzMl90IG15
|
||||||
|
X2lkID0gLTE7CnN0YXRpYyBpbnQgZnVsbF9tZW1iZXJzaGlwX3NlZW4gPSAwOwpzdGF0aWMgaW50
|
||||||
|
IHNlbnRfbWVzc2FnZXMgPSAwOwpzdGF0aWMgaW50IHRlc3RfY3BnX2xvb3BfY29udCA9IDE7Cgov
|
||||||
|
KgogKiBib3RoIHJhbmQgc2VlZHMgbXVzdCBiZSBpbiBzeW5jCiAqLwpzdGF0aWMgdW5zaWduZWQg
|
||||||
|
aW50IHNlbnRfcmFuZF9zZWVkID0gMDsKc3RhdGljIHVuc2lnbmVkIGludCByZWNlaXZlZF9yYW5k
|
||||||
|
X3NlZWQgPSAwOwpzdGF0aWMgaW50MzJfdCBleHBlY3RlZF9zZW5kZXJfaWQ7CnN0YXRpYyB1aW50
|
||||||
|
MzJfdCBleHBlY3RlZF9tc2dfc2VxX25vID0gMDsKCnN0cnVjdCB0ZXN0X21zZyB7CglpbnQzMl90
|
||||||
|
IHNlbmRlcl9pZCBfX2F0dHJpYnV0ZV9fICgoYWxpZ25lZCAoOCkpKTsKCXVpbnQzMl90IHNlcV9u
|
||||||
|
byBfX2F0dHJpYnV0ZV9fICgoYWxpZ25lZCAoOCkpKTsKCXVpbnQzMl90IGRhdGFfbGVuIF9fYXR0
|
||||||
|
cmlidXRlX18gKChhbGlnbmVkICg4KSkpOwoJdW5zaWduZWQgY2hhciBkYXRhWzBdIF9fYXR0cmli
|
||||||
|
dXRlX18gKChhbGlnbmVkICg4KSkpOwp9OwoKc3RhdGljIHZvaWQKc2VuZF9tc2coY3BnX2hhbmRs
|
||||||
|
ZV90IGNwZ19oYW5kbGUpCnsKCXN0cnVjdCB0ZXN0X21zZyBtc2c7Cgl1bnNpZ25lZCBjaGFyICpk
|
||||||
|
YXRhOwoJdWludDMyX3QgdTMyOwoJc3RydWN0IGlvdmVjIGlvdlsyXTsKCWNzX2Vycm9yX3QgY3Nf
|
||||||
|
cmVzOwoKCUVOVEVSKCk7CgoJbXNnLnNlbmRlcl9pZCA9IG15X2lkOwoJbXNnLmRhdGFfbGVuID0g
|
||||||
|
cmFuZF9yKCZzZW50X3JhbmRfc2VlZCkgJSBNQVhfTVNHX0xFTjsKCW1zZy5zZXFfbm8gPSBleHBl
|
||||||
|
Y3RlZF9tc2dfc2VxX25vOwoKCWRhdGEgPSBtYWxsb2Moc2l6ZW9mKHVuc2lnbmVkIGNoYXIpICog
|
||||||
|
bXNnLmRhdGFfbGVuKTsKCWFzc2VydChkYXRhICE9IE5VTEwpOwoKCWZvciAodTMyID0gMDsgdTMy
|
||||||
|
IDwgbXNnLmRhdGFfbGVuOyB1MzIrKykgewoJCWRhdGFbdTMyXSA9ICh1bnNpZ25lZCBjaGFyKXJh
|
||||||
|
bmRfcigmc2VudF9yYW5kX3NlZWQpOwoJfQoKCWlvdlswXS5pb3ZfYmFzZSA9ICh2b2lkICopJm1z
|
||||||
|
ZzsKCWlvdlswXS5pb3ZfbGVuID0gc2l6ZW9mKG1zZyk7Cglpb3ZbMV0uaW92X2Jhc2UgPSAodm9p
|
||||||
|
ZCAqKWRhdGE7Cglpb3ZbMV0uaW92X2xlbiA9IG1zZy5kYXRhX2xlbjsKCgljc19yZXMgPSBjcGdf
|
||||||
|
bWNhc3Rfam9pbmVkKGNwZ19oYW5kbGUsIENQR19UWVBFX0FHUkVFRCwgaW92LCAyKTsKCWFzc2Vy
|
||||||
|
dChjc19yZXMgPT0gQ1NfT0spOwoKCWZyZWUoZGF0YSk7CgoJc2VudF9tZXNzYWdlcysrOwoKCUxF
|
||||||
|
QVZFKCk7Cn0KCnN0YXRpYyB2b2lkCmFkanVzdF9zZW50X3JhbmRfc2VlZCh2b2lkKQp7Cgl1aW50
|
||||||
|
MzJfdCBkYXRhX2xlbjsKCXVpbnQzMl90IHUzMjsKCglkYXRhX2xlbiA9IHJhbmRfcigmc2VudF9y
|
||||||
|
YW5kX3NlZWQpICUgTUFYX01TR19MRU47CgoJZm9yICh1MzIgPSAwOyB1MzIgPCBkYXRhX2xlbjsg
|
||||||
|
dTMyKyspIHsKCQkodm9pZClyYW5kX3IoJnNlbnRfcmFuZF9zZWVkKTsKCX0KfQoKc3RhdGljIHZv
|
||||||
|
aWQKRGVsaXZlckNhbGxiYWNrKGNwZ19oYW5kbGVfdCBoYW5kbGUsCiAgICBjb25zdCBzdHJ1Y3Qg
|
||||||
|
Y3BnX25hbWUgKmdyb3VwTmFtZSwKICAgIHVpbnQzMl90IG5vZGVpZCwKICAgIHVpbnQzMl90IHBp
|
||||||
|
ZCwKICAgIHZvaWQgKmNwZ19tc2csCiAgICBzaXplX3QgY3BnX21zZ19sZW4pCnsKCXN0cnVjdCB0
|
||||||
|
ZXN0X21zZyAqbXNnOwoJdWludDMyX3QgdTMyOwoKCUVOVEVSKCk7CgoJYXNzZXJ0KG5vZGVpZCA9
|
||||||
|
PSBURVNUX05PREVJRCk7CgoJYXNzZXJ0KGNwZ19tc2dfbGVuID49IHNpemVvZihzdHJ1Y3QgdGVz
|
||||||
|
dF9tc2cpKTsKCgltc2cgPSAoc3RydWN0IHRlc3RfbXNnICopY3BnX21zZzsKCWFzc2VydChtc2ct
|
||||||
|
PnNlbmRlcl9pZCA9PSBleHBlY3RlZF9zZW5kZXJfaWQpOwoKCWV4cGVjdGVkX3NlbmRlcl9pZCA9
|
||||||
|
IChleHBlY3RlZF9zZW5kZXJfaWQgKyAxKSAlIE5PX0NISUxEUzsKCglhc3NlcnQobXNnLT5zZXFf
|
||||||
|
bm8gPT0gZXhwZWN0ZWRfbXNnX3NlcV9ubyk7CglleHBlY3RlZF9tc2dfc2VxX25vKys7CgoJYXNz
|
||||||
|
ZXJ0KGNwZ19tc2dfbGVuID09IG1zZy0+ZGF0YV9sZW4gKyBzaXplb2Yoc3RydWN0IHRlc3RfbXNn
|
||||||
|
KSk7CgoJLyoKCSAqIE1lc3NhZ2UgaGFzIGV4cGVjdGVkIGxlbmd0aCBhbmQgY29udGVudAoJICov
|
||||||
|
Cglhc3NlcnQobXNnLT5kYXRhX2xlbiA9PSAodWludDMyX3QpKHJhbmRfcigmcmVjZWl2ZWRfcmFu
|
||||||
|
ZF9zZWVkKSAlIE1BWF9NU0dfTEVOKSk7CgoJZm9yICh1MzIgPSAwOyB1MzIgPCBtc2ctPmRhdGFf
|
||||||
|
bGVuOyB1MzIrKykgewoJCWFzc2VydChtc2ctPmRhdGFbdTMyXSA9PSAodW5zaWduZWQgY2hhcily
|
||||||
|
YW5kX3IoJnJlY2VpdmVkX3JhbmRfc2VlZCkpOwoJfQoKCWlmIChleHBlY3RlZF9tc2dfc2VxX25v
|
||||||
|
ID4gTUVTU0FHRVNfVE9fU0VOVCkgewoJCXRlc3RfY3BnX2xvb3BfY29udCA9IDA7Cgl9CgoJaWYg
|
||||||
|
KGV4cGVjdGVkX3NlbmRlcl9pZCA9PSBteV9pZCkgewoJCXNlbmRfbXNnKGhhbmRsZSk7Cgl9IGVs
|
||||||
|
c2UgewoJCWFkanVzdF9zZW50X3JhbmRfc2VlZCgpOwoJfQoKCUxFQVZFKCk7Cn0KCnN0YXRpYyB2
|
||||||
|
b2lkClRvdGVtQ29uZmNoZ0NhbGxiYWNrKGNwZ19oYW5kbGVfdCBoYW5kbGUsCiAgICBzdHJ1Y3Qg
|
||||||
|
Y3BnX3JpbmdfaWQgcmluZ19pZCwKICAgIHVpbnQzMl90IG1lbWJlcl9saXN0X2VudHJpZXMsCiAg
|
||||||
|
ICBjb25zdCB1aW50MzJfdCAqbWVtYmVyX2xpc3QpCnsKCglFTlRFUigpOwoKCWFzc2VydChtZW1i
|
||||||
|
ZXJfbGlzdF9lbnRyaWVzID09IDEpOwoJYXNzZXJ0KG1lbWJlcl9saXN0WzBdID09IFRFU1RfTk9E
|
||||||
|
RUlEKTsKCglMRUFWRSgpOwp9CgpzdGF0aWMgdm9pZApDb25mY2hnQ2FsbGJhY2soY3BnX2hhbmRs
|
||||||
|
ZV90IGhhbmRsZSwKICAgIGNvbnN0IHN0cnVjdCBjcGdfbmFtZSAqZ3JvdXBfbmFtZSwKICAgIGNv
|
||||||
|
bnN0IHN0cnVjdCBjcGdfYWRkcmVzcyAqbWVtYmVyX2xpc3QsIHNpemVfdCBtZW1iZXJfbGlzdF9l
|
||||||
|
bnRyaWVzLAogICAgY29uc3Qgc3RydWN0IGNwZ19hZGRyZXNzICpsZWZ0X2xpc3QsIHNpemVfdCBs
|
||||||
|
ZWZ0X2xpc3RfZW50cmllcywKICAgIGNvbnN0IHN0cnVjdCBjcGdfYWRkcmVzcyAqam9pbmVkX2xp
|
||||||
|
c3QsIHNpemVfdCBqb2luZWRfbGlzdF9lbnRyaWVzKQp7CglpbnQgaTsKCglFTlRFUigpOwoKCWFz
|
||||||
|
c2VydChncm91cF9uYW1lLT5sZW5ndGggPT0gc3RybGVuKFRFU1RfR1JPVVBfTkFNRSkpOwoJYXNz
|
||||||
|
ZXJ0KG1lbWNtcChncm91cF9uYW1lLT52YWx1ZSwgVEVTVF9HUk9VUF9OQU1FLCBzdHJsZW4oVEVT
|
||||||
|
VF9HUk9VUF9OQU1FKSkgPT0gMCk7CgoJZm9yIChpID0gMDsgaSA8IG1lbWJlcl9saXN0X2VudHJp
|
||||||
|
ZXM7IGkrKykgewoJCWFzc2VydChtZW1iZXJfbGlzdFtpXS5ub2RlaWQgPT0gVEVTVF9OT0RFSUQp
|
||||||
|
OwoJfQoKCWlmICghZnVsbF9tZW1iZXJzaGlwX3NlZW4gJiYgbWVtYmVyX2xpc3RfZW50cmllcyA9
|
||||||
|
PSBOT19DSElMRFMpIHsKCQlpZiAobXlfaWQgPT0gMCkgewoJCQkvKgoJCQkgKiBGaXJzdCBjaGls
|
||||||
|
ZCBzZW5kcyBmaXJzdCBtZXNzYWdlCgkJCSAqLwoJCQlzZW5kX21zZyhoYW5kbGUpOwoJCX0gZWxz
|
||||||
|
ZSB7CgkJCWFkanVzdF9zZW50X3JhbmRfc2VlZCgpOwoJCX0KCgkJZnVsbF9tZW1iZXJzaGlwX3Nl
|
||||||
|
ZW4gPSAxOwoJfQoKCUxFQVZFKCk7Cn0KCnN0YXRpYyBjcGdfbW9kZWxfdjFfZGF0YV90IG1vZGVs
|
||||||
|
X2RhdGEgPSB7CgkuY3BnX2RlbGl2ZXJfZm4gPQlEZWxpdmVyQ2FsbGJhY2ssCgkuY3BnX2NvbmZj
|
||||||
|
aGdfZm4gPQlDb25mY2hnQ2FsbGJhY2ssCgkuY3BnX3RvdGVtX2NvbmZjaGdfZm4gPQlUb3RlbUNv
|
||||||
|
bmZjaGdDYWxsYmFjaywKCS5mbGFncyA9CQlDUEdfTU9ERUxfVjFfREVMSVZFUl9JTklUSUFMX1RP
|
||||||
|
VEVNX0NPTkYsCn07CgoKc3RhdGljIHZvaWQKdGVzdF9jcGcodm9pZCkKewoJY3BnX2hhbmRsZV90
|
||||||
|
IGNwZ19oYW5kbGU7CglzdHJ1Y3QgY3BnX25hbWUgZ3JvdXBfbmFtZTsKCWNzX2Vycm9yX3QgY3Nf
|
||||||
|
cmVzOwoJdW5zaWduZWQgaW50IGxvY2FsX25vZGVpZDsKCWludCBjcGdfZmQ7CglzdHJ1Y3QgcG9s
|
||||||
|
bGZkIHBmZDsKCWludCBwb2xsX3JlczsKCglFTlRFUigpOwoKCXN0cmNweShncm91cF9uYW1lLnZh
|
||||||
|
bHVlLCBURVNUX0dST1VQX05BTUUpOwoJZ3JvdXBfbmFtZS5sZW5ndGggPSBzdHJsZW4oVEVTVF9H
|
||||||
|
Uk9VUF9OQU1FKTsKCgljc19yZXBlYXQoY3NfcmVzID0gY3BnX21vZGVsX2luaXRpYWxpemUoJmNw
|
||||||
|
Z19oYW5kbGUsIENQR19NT0RFTF9WMSwKCSAgICAoY3BnX21vZGVsX2RhdGFfdCAqKSZtb2RlbF9k
|
||||||
|
YXRhLCBOVUxMKSk7Cglhc3NlcnQoY3NfcmVzID09IENTX09LKTsKCgljc19yZXBlYXQoY3NfcmVz
|
||||||
|
ID0gY3BnX2pvaW4oY3BnX2hhbmRsZSwgJmdyb3VwX25hbWUpKTsKCWFzc2VydChjc19yZXMgPT0g
|
||||||
|
Q1NfT0spOwoKCWNzX3JlcGVhdChjc19yZXMgPSBjcGdfbG9jYWxfZ2V0KGNwZ19oYW5kbGUsICZs
|
||||||
|
b2NhbF9ub2RlaWQpKTsKCWFzc2VydChjc19yZXMgPT0gQ1NfT0spOwoJYXNzZXJ0KGxvY2FsX25v
|
||||||
|
ZGVpZCA9PSBURVNUX05PREVJRCk7CgoJY3NfcmVwZWF0KGNzX3JlcyA9IGNwZ19mZF9nZXQoY3Bn
|
||||||
|
X2hhbmRsZSwgJmNwZ19mZCkpOwoJYXNzZXJ0KGNzX3JlcyA9PSBDU19PSyk7CgoJZG8gewoJCXBm
|
||||||
|
ZC5mZCA9IGNwZ19mZDsKCQlwZmQuZXZlbnRzID0gUE9MTElOOwoJCXBmZC5yZXZlbnRzID0gMDsK
|
||||||
|
CgkJcG9sbF9yZXMgPSBwb2xsKCZwZmQsIDEsIElORlRJTSk7CgkJaWYgKHBvbGxfcmVzID09IC0x
|
||||||
|
KSB7CgkJCXBlcnJvcigicG9sbF9yZXMgPT0gLTEiKTsKCQl9CgoJCWFzc2VydChwb2xsX3JlcyAh
|
||||||
|
PSAwKTsKCQlhc3NlcnQocGZkLnJldmVudHMgJiBQT0xMSU4pOwoKCQljc19yZXBlYXQoY3NfcmVz
|
||||||
|
ID0gY3BnX2Rpc3BhdGNoKGNwZ19oYW5kbGUsIENTX0RJU1BBVENIX0FMTCkpOwoJCWFzc2VydChj
|
||||||
|
c19yZXMgPT0gQ1NfT0spOwoJfSB3aGlsZSAodGVzdF9jcGdfbG9vcF9jb250KTsKCgljc19yZXBl
|
||||||
|
YXQoY3NfcmVzID0gY3BnX2xlYXZlKGNwZ19oYW5kbGUsICZncm91cF9uYW1lKSk7Cglhc3NlcnQo
|
||||||
|
Y3NfcmVzID09IENTX09LKTsKCgljc19yZXBlYXQoY3NfcmVzID0gY3BnX2ZpbmFsaXplKGNwZ19o
|
||||||
|
YW5kbGUpKTsKCWFzc2VydChjc19yZXMgPT0gQ1NfT0spOwoKCUxFQVZFKCk7Cn0KCmludAptYWlu
|
||||||
|
KHZvaWQpCnsKCWludCBpOwoJcGlkX3QgZm9ya19yZXM7CglwaWRfdCB3YWl0X3JlczsKCWludCBz
|
||||||
|
dGF0dXM7CgoJRU5URVIoKTsKCglzZXRsaW5lYnVmKHN0ZG91dCk7CgoJZm9yIChpID0gMDsgaSA8
|
||||||
|
IE5PX0NISUxEUzsgaSsrKSB7CgkJbXlfaWQgPSBpOwoKCQlmb3JrX3JlcyA9IGZvcmsoKTsKCgkJ
|
||||||
|
aWYgKGZvcmtfcmVzID09IC0xKSB7CgkJCXBlcnJvcigiZm9yayIpOwoJCX0KCgkJaWYgKGZvcmtf
|
||||||
|
cmVzID09IDApIHsKCQkJLyoKCQkJICogQ2hpbGQKCQkJICovCgkJCWJyZWFrIDsKCQl9IGVsc2Ug
|
||||||
|
ewoJCQkvKgoJCQkgKiBQYXJlbnQKCQkJICovCgkJCW15X2lkID0gLTE7CgkJfQoJfQoKCWlmIChm
|
||||||
|
b3JrX3JlcyA9PSAwKSB7CgkJLyoKCQkgKiBDaGlsZCBydW5zIHRoZSB0ZXN0CgkJICovCgkJdGVz
|
||||||
|
dF9jcGcoKTsKCX0gZWxzZSB7CgkJLyoKCQkgKiBXYWl0IGZvciBjaGlsZHMKCQkgKi8KCQlmb3Ig
|
||||||
|
KGkgPSAwOyBpIDwgTk9fQ0hJTERTOyBpKyspIHsKCQkJd2FpdF9yZXMgPSB3YWl0KCZzdGF0dXMp
|
||||||
|
OwoJCQlpZiAod2FpdF9yZXMgPT0gLTEpIHsKCQkJCXBlcnJvcigid2FpdCIpOwoJCQl9CgoJCQlh
|
||||||
|
c3NlcnQoV0lGRVhJVEVEKHN0YXR1cykpOwoJCQlhc3NlcnQoV0VYSVRTVEFUVVMoc3RhdHVzKSA9
|
||||||
|
PSAwKTsKCQl9Cgl9CgoJTEVBVkUoKTsKCglyZXR1cm4gKDApOwp9Cg==" | base64 -d | tee "/tmp/corosync-api-test-mp.c"
|
||||||
|
# - corosync-api-test-mp.c
|
||||||
|
##################
|
||||||
|
# Test functions #
|
||||||
|
##################
|
||||||
|
test_corosync_v() {
|
||||||
|
# Check corosync -v exits without error and
|
||||||
|
# result version contain numbers in path format [0-9]*.[0-9]*.[0-9]
|
||||||
|
ver_res=$(corosync -v)
|
||||||
|
[ "$ver_res" != "${ver_res/[0-9]*\.[0-9]*\.[0-9]/}" ]
|
||||||
|
}
|
||||||
|
|
||||||
|
test_corosync_keygen() {
|
||||||
|
rm -f "$COROSYNC_AUTHKEY"
|
||||||
|
corosync-keygen
|
||||||
|
|
||||||
|
# File exists
|
||||||
|
[ -f "$COROSYNC_AUTHKEY" ]
|
||||||
|
|
||||||
|
# ... and is not empty (wc format is "SIZE FILENAME" - remove FILENAME part)
|
||||||
|
wc_res=$(wc -c "$COROSYNC_AUTHKEY")
|
||||||
|
[ "${wc_res%% *}" -gt 0 ]
|
||||||
|
}
|
||||||
|
|
||||||
|
# test_corosync_start crypto
|
||||||
|
# crypto can be on or off
|
||||||
|
test_corosync_start() {
|
||||||
|
generate_corosync_conf "$1" > "$COROSYNC_CONF"
|
||||||
|
cat "$COROSYNC_CONF"
|
||||||
|
|
||||||
|
service_start "corosync"
|
||||||
|
}
|
||||||
|
|
||||||
|
test_corosync_stop() {
|
||||||
|
service_stop "corosync"
|
||||||
|
}
|
||||||
|
|
||||||
|
test_corosync_quorumtool() {
|
||||||
|
quorumtool_res_file=`mktemp`
|
||||||
|
# This is already fixed in upstream db38e3958c4f88d5d06e8f7c83d6d90334d9fbd2
|
||||||
|
(corosync-quorumtool -ips || true) | tee "$quorumtool_res_file"
|
||||||
|
|
||||||
|
# Ensure this is single node cluster
|
||||||
|
grep -qi '^Nodes:.*1$' "$quorumtool_res_file"
|
||||||
|
# Current node id is 1
|
||||||
|
grep -qi '^Node ID:.*1$' "$quorumtool_res_file"
|
||||||
|
# Is quorate (libquorum)
|
||||||
|
grep -qi '^Quorate:.*Yes$' "$quorumtool_res_file"
|
||||||
|
# Quorum is 1
|
||||||
|
grep -qi '^Quorum:.*1' "$quorumtool_res_file"
|
||||||
|
# Is quorate (libvotequorum)
|
||||||
|
grep -qi '^Flags:.*Quorate' "$quorumtool_res_file"
|
||||||
|
|
||||||
|
rm -f "$quorumtool_res_file"
|
||||||
|
}
|
||||||
|
|
||||||
|
test_corosync_cmapctl() {
|
||||||
|
cmapctl_res_file=`mktemp`
|
||||||
|
corosync-cmapctl | tee "$cmapctl_res_file"
|
||||||
|
# cluster_name key exists in full output
|
||||||
|
grep -qi '^totem.cluster_name (str) = smoketestcluster$' "$cmapctl_res_file"
|
||||||
|
|
||||||
|
corosync-cmapctl "totem." | tee "$cmapctl_res_file"
|
||||||
|
# cluster_name key exists in reduced output
|
||||||
|
grep -qi '^totem.cluster_name (str) = smoketestcluster$' "$cmapctl_res_file"
|
||||||
|
|
||||||
|
# cluster_name key should be returned
|
||||||
|
corosync-cmapctl -g "totem.cluster_name" | tee "$cmapctl_res_file"
|
||||||
|
grep -qi '^totem.cluster_name (str) = smoketestcluster$' "$cmapctl_res_file"
|
||||||
|
|
||||||
|
rm -f "$cmapctl_res_file"
|
||||||
|
}
|
||||||
|
|
||||||
|
# test_corosync_reload - requires stopped corosync
|
||||||
|
test_corosync_reload() {
|
||||||
|
cmapctl_res_file=`mktemp`
|
||||||
|
|
||||||
|
test_corosync_start "off"
|
||||||
|
|
||||||
|
# Get current token timeout
|
||||||
|
corosync-cmapctl -g "runtime.config.totem.token" | tee "$cmapctl_res_file"
|
||||||
|
cmapctl_res=$(cat "$cmapctl_res_file")
|
||||||
|
# Format is runtime.config.totem.token (u32) = value
|
||||||
|
token_pre_reload=${cmapctl_res##* }
|
||||||
|
[ "$token_pre_reload" -eq "$TOKEN_TIMEOUT" ]
|
||||||
|
|
||||||
|
# Generate new corosync.conf with token_timeout*10
|
||||||
|
new_token_timeout=$((TOKEN_TIMEOUT*10))
|
||||||
|
generate_corosync_conf "off" "$new_token_timeout" > "$COROSYNC_CONF"
|
||||||
|
cat "$COROSYNC_CONF"
|
||||||
|
|
||||||
|
# Main call of the test
|
||||||
|
corosync-cfgtool -R
|
||||||
|
|
||||||
|
# Check that new token timeout is in use
|
||||||
|
corosync-cmapctl -g "runtime.config.totem.token" | tee "$cmapctl_res_file"
|
||||||
|
cmapctl_res=$(cat "$cmapctl_res_file")
|
||||||
|
# Format is runtime.config.totem.token (u32) = value
|
||||||
|
token_post_reload=${cmapctl_res##* }
|
||||||
|
[ "$token_post_reload" -eq "$new_token_timeout" ]
|
||||||
|
|
||||||
|
test_corosync_stop
|
||||||
|
|
||||||
|
rm -f "$cmapctl_res_file"
|
||||||
|
}
|
||||||
|
|
||||||
|
test_corosync_api() {
|
||||||
|
cflags=$(pkg-config --cflags libcpg)
|
||||||
|
libs=$(pkg-config --libs libcpg)
|
||||||
|
|
||||||
|
gcc -ggdb -Wall $cflags "/tmp/corosync-api-test.c" \
|
||||||
|
$libs -o "/tmp/corosync-api-test"
|
||||||
|
|
||||||
|
/tmp/corosync-api-test
|
||||||
|
}
|
||||||
|
|
||||||
|
test_corosync_api_mp() {
|
||||||
|
cflags=$(pkg-config --cflags libcpg)
|
||||||
|
libs=$(pkg-config --libs libcpg)
|
||||||
|
|
||||||
|
gcc -ggdb -Wall $cflags "/tmp/corosync-api-test-mp.c" \
|
||||||
|
$libs -o "/tmp/corosync-api-test-mp"
|
||||||
|
|
||||||
|
/tmp/corosync-api-test-mp
|
||||||
|
}
|
||||||
|
|
||||||
|
test_corosync_man_pages() {
|
||||||
|
# At least these man pages should be installed
|
||||||
|
expected_mp="corosync corosync.conf corosync-cfgtool corosync-cmapctl
|
||||||
|
corosync-keygen corosync-quorumtool"
|
||||||
|
|
||||||
|
for mp in $expected_mp;do
|
||||||
|
man -w "$mp"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
########
|
||||||
|
# main #
|
||||||
|
########
|
||||||
|
if [ -z "$PREFIX" ];then
|
||||||
|
echo "PREFIX not defined. Do not run *.inc.sh directly"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
test_corosync_v
|
||||||
|
test_corosync_keygen
|
||||||
|
test_corosync_man_pages
|
||||||
|
|
||||||
|
for crypto in "off" "on";do
|
||||||
|
test_corosync_start "$crypto"
|
||||||
|
test_corosync_quorumtool
|
||||||
|
test_corosync_cmapctl
|
||||||
|
test_corosync_api
|
||||||
|
test_corosync_api_mp
|
||||||
|
test_corosync_stop
|
||||||
|
done
|
||||||
|
|
||||||
|
test_corosync_reload
|
12
tests/tests.yml
Normal file
12
tests/tests.yml
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
- hosts: localhost
|
||||||
|
roles:
|
||||||
|
- role: standard-test-basic
|
||||||
|
tags:
|
||||||
|
- classic
|
||||||
|
tests:
|
||||||
|
- smoke
|
||||||
|
required_packages:
|
||||||
|
- gcc
|
||||||
|
- iproute
|
||||||
|
- corosync
|
||||||
|
- corosync-devel
|
Loading…
Reference in New Issue
Block a user