[packages/ceph] - updated to 10.2.11 (for now, WIP on newer ones) - updated logrotate patch - removed obsolete cxx p
qboosh
qboosh at pld-linux.org
Sun May 24 07:42:34 CEST 2020
commit bbcdc7ce329d6d431d47d60765d963458ddc051b
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Sun May 24 07:43:08 2020 +0200
- updated to 10.2.11 (for now, WIP on newer ones)
- updated logrotate patch
- removed obsolete cxx patch
- added link,assert,python patches
- use upstream files for systemd
- rocksdb support builds now
ceph-assert.patch | 10 ++
ceph-link.patch | 175 +++++++++++++++++++++++
ceph-mds at .service | 14 --
ceph-mon at .service | 21 ---
ceph-osd at .service | 16 ---
ceph-python.patch | 47 +++++++
ceph.logrotate.patch | 27 +---
ceph.spec | 184 +++++++++++++++---------
ceph.target | 4 -
cxx.patch | 390 ---------------------------------------------------
10 files changed, 353 insertions(+), 535 deletions(-)
---
diff --git a/ceph.spec b/ceph.spec
index 4b69581..d172a06 100644
--- a/ceph.spec
+++ b/ceph.spec
@@ -1,16 +1,17 @@
# TODO:
-# - proper init scripts if non-systemd boot is too be supported
-# (upstream scripts seem overcomplicated and hardly useful)
-# - run as non-root user
+# - SPDK (libpciaccess dpdk/rte_config.h -lrte_eal -lrte_mempool -lrte_ring)
+# - proper init scripts if non-systemd boot is too be supported
+# (upstream scripts seem overcomplicated and hardly useful)
+# - run as non-root user
#
# Note on versioning: http://docs.ceph.com/docs/master/releases/
#
# Conditional build:
%bcond_without java # Java binding
-%bcond_with accelio # Accelio transport support
+%bcond_with accelio # Accelio transport support [needs update for internal API changes]
%bcond_with kinetic # Kinetic storage support [needs update for internal API changes]
-%bcond_with rocksdb # RocksDB storage support [needs update for internal API changes]
-%bcond_with zfs # ZFS support
+%bcond_without rocksdb # RocksDB storage support
+%bcond_with zfs # ZFS support [not ready for zfs 0.8.x]
%bcond_without lttng # LTTng tracing
%bcond_without babeltrace # Babeltrace traces support
%bcond_without tcmalloc # tcmalloc allocator
@@ -22,24 +23,21 @@
Summary: User space components of the Ceph file system
Summary(pl.UTF-8): Działające w przestrzeni użytkownika elementy systemu plików Ceph
Name: ceph
-Version: 0.94.10
-Release: 3
+Version: 10.2.11
+Release: 1
License: LGPL v2.1 (libraries), GPL v2 (some programs)
Group: Base
Source0: http://download.ceph.com/tarballs/%{name}-%{version}.tar.gz
-# Source0-md5: 9bf0d6df74e6da3725dcc3b7adf3d849
+# Source0-md5: 09d18eb8d8d06893e9496657f03427a0
Source1: ceph.sysconfig
-# based on files from https://github.com/ceph/ceph/tree/master/systemd
-Source10: cephctl
-Source11: ceph-mds at .service
-Source12: ceph-mon at .service
-Source13: ceph-osd at .service
-Source14: ceph.target
-Source15: ceph.tmpfiles
+Source2: cephctl
+Source3: ceph.tmpfiles
Patch0: %{name}-init-fix.patch
Patch1: %{name}.logrotate.patch
-Patch2: cxx.patch
+Patch2: %{name}-link.patch
Patch3: boost.patch
+Patch4: %{name}-assert.patch
+Patch5: %{name}-python.patch
URL: https://ceph.io/
%{?with_accelio:BuildRequires: accelio-devel}
BuildRequires: autoconf >= 2.59
@@ -64,26 +62,32 @@ BuildRequires: libfuse-devel
%{?with_accelio:BuildRequires: libibverbs-devel}
BuildRequires: libltdl-devel
%{?with_accelio:BuildRequires: librdmacm-devel}
-BuildRequires: libs3-devel
-BuildRequires: libstdc++-devel
+BuildRequires: libstdc++-devel >= 6:4.7
%{?with_tcmalloc:BuildRequires: libtcmalloc-devel}
BuildRequires: libtool >= 2:1.5
BuildRequires: libuuid-devel
+BuildRequires: libxml2-devel >= 2.0
%{?with_lttng:BuildRequires: lttng-ust-devel}
-BuildRequires: nss-devel
+BuildRequires: nss-devel >= 3
+BuildRequires: openldap-devel
+BuildRequires: openssl-devel
BuildRequires: perl-base
BuildRequires: pkgconfig
-BuildRequires: python >= 1:2.4
+BuildRequires: python >= 1:2.7
+BuildRequires: python-Cython
%{?with_rocksdb:BuildRequires: rocksdb-devel}
BuildRequires: rpmbuild(macros) >= 1.671
BuildRequires: sed >= 4.0
BuildRequires: snappy-devel
+BuildRequires: sphinx-pdg-2 >= 1.0
BuildRequires: udev-devel
+#BuildRequires: virtualenv disabled in python patch
BuildRequires: xfsprogs-devel
%ifarch %{x8664}
BuildRequires: yasm
%endif
%{?with_zfs:BuildRequires: zfs-devel}
+BuildRequires: zlib-devel
Requires(post,preun): /sbin/chkconfig
Requires(preun): rc-scripts
Requires: %{name}-libs = %{version}-%{release}
@@ -93,7 +97,7 @@ Obsoletes: gcephtool
Obsoletes: hadoop-cephfs
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%define skip_post_check_so libcls_.*.so.* libec_.*.so.*
+%define skip_post_check_so libceph_example.so.* libceph_snappy.so.* libceph_zlib.so.* libcls_.*.so.* libec_.*.so.*
%description
Ceph is a distributed network file system designed to provide
@@ -121,10 +125,17 @@ License: LGPL v2.1
Group: Development/Libraries
Requires: %{name}-libs = %{version}-%{release}
Requires: boost-devel >= 1.34
-Requires: nss-devel
+Requires: curl-devel
+Requires: expat-devel
+Requires: fcgi-devel
+Requires: nss-devel >= 3
Requires: leveldb-devel
Requires: libatomic_ops
+Requires: libblkid-devel >= 2.17
+Requires: libstdc++-devel >= 6:4.7
Requires: libuuid-devel
+%{?with_lttng:Requires: lttng-ust-devel}
+Requires: openldap-devel
%description devel
This package contains the headers needed to develop programs that use
@@ -218,13 +229,16 @@ Agenci OCF do monitorowania procesów Cepha.
%patch1 -p1
%patch2 -p1
%patch3 -p0
+%patch4 -p1
+%patch5 -p1
%{__sed} -i -e '1s,/usr/bin/env python$,%{__python},' \
- src/{ceph-create-keys,ceph-disk,ceph-rest-api} \
- src/brag/client/ceph-brag
+ src/{ceph-create-keys,ceph-rest-api} \
+ src/brag/client/ceph-brag \
+ src/ceph-disk/ceph_disk/main.py
# adjust rule used to create ceph from ceph.in
-%{__sed} -i -e 's,"#!/usr/bin/env python","#!%{__python}",' src/Makefile-client.am
+%{__sed} -i -e 's,|/usr/bin/env python|,|%{__python}|,' src/Makefile-client.am
%build
%{__libtoolize}
@@ -239,6 +253,8 @@ CPPFLAGS="%{rpmcppflags} -D_FILE_OFFSET_BITS=64"
%configure \
%{?with_java:JAVAC=/usr/bin/javac} \
%{?with_zfs:LIBZFS_CFLAGS="-I/usr/include/libzfs -I/usr/include/libspl"} \
+ PYTHON=%{__python} \
+ SPHINX_BUILD=/usr/bin/sphinx-build-2 \
ac_cv_prog_uudecode_base64=no \
--sbindir=/sbin \
%{!?with_babeltrace:--without-babeltrace} \
@@ -247,12 +263,13 @@ CPPFLAGS="%{rpmcppflags} -D_FILE_OFFSET_BITS=64"
%{!?with_tcmalloc:--without-tcmalloc} \
%{?with_kinetic:--with-kinetic} \
%{?with_rocksdb:--with-librocksdb} \
+ --without-librocksdb-static \
%{?with_zfs:--with-libzfs} \
%{!?with_lttng:--without-lttng} \
--with-ocf \
--with-radosgw \
--with-system-leveldb \
- --with-system-libs3 \
+ --with-systemd-unit-dir=%{systemdunitdir} \
%{?with_java:--enable-cephfs-java --with-jdk-dir=%{_jvmdir}/java} \
--disable-silent-rules \
%{?with_accelio:--enable-xio}
@@ -272,15 +289,15 @@ install -d $RPM_BUILD_ROOT%{_localstatedir}/{lib/ceph/{tmp,mon,osd,mds},log/ceph
install -p src/init-ceph $RPM_BUILD_ROOT/etc/rc.d/init.d/ceph
install -p src/logrotate.conf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/ceph
-install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/ceph
-install %{SOURCE10} $RPM_BUILD_ROOT%{_bindir}
-install %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} $RPM_BUILD_ROOT%{systemdunitdir}
+cp -p %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/ceph
+install %{SOURCE2} $RPM_BUILD_ROOT%{_bindir}
ln -sf /dev/null $RPM_BUILD_ROOT%{systemdunitdir}/ceph.service
-install %{SOURCE15} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/ceph.conf
+cp -p %{SOURCE3} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/ceph.conf
# loadable modules
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/ceph/erasure-code/*.{a,la}
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/rados-classes/*.{a,la}
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/ceph/compressor/*.{a,la}
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/ceph/erasure-code/*.la
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/rados-classes/*.la
%if %{with java}
%{__rm} $RPM_BUILD_ROOT%{_libdir}/libcephfs_jni.{la,a}
%endif
@@ -323,15 +340,24 @@ fi
%attr(754,root,root) /etc/rc.d/init.d/ceph
%config(noreplace) /etc/sysconfig/ceph
%dir /etc/systemd/system/ceph.target.wants
+%{systemdunitdir}/ceph.service
+%{systemdunitdir}/ceph.target
+%{systemdunitdir}/ceph-create-keys at .service
+%{systemdunitdir}/ceph-disk at .service
+%{systemdunitdir}/ceph-mds.target
%{systemdunitdir}/ceph-mds at .service
+%{systemdunitdir}/ceph-mon.target
%{systemdunitdir}/ceph-mon at .service
+%{systemdunitdir}/ceph-osd.target
%{systemdunitdir}/ceph-osd at .service
-%{systemdunitdir}/ceph.service
-%{systemdunitdir}/ceph.target
+%{systemdunitdir}/ceph-rbd-mirror.target
+%{systemdunitdir}/ceph-rbd-mirror at .service
+%{systemdunitdir}/rbdmap.service
%{systemdtmpfilesdir}/ceph.conf
%dir %{_sysconfdir}/ceph
%attr(755,root,root) %{_bindir}/ceph
%attr(755,root,root) %{_bindir}/ceph-authtool
+%attr(755,root,root) %{_bindir}/ceph-bluefs-tool
%attr(755,root,root) %{_bindir}/ceph-brag
%attr(755,root,root) %{_bindir}/ceph-clsinfo
%attr(755,root,root) %{_bindir}/ceph-conf
@@ -339,6 +365,7 @@ fi
%attr(755,root,root) %{_bindir}/ceph-crush-location
%attr(755,root,root) %{_bindir}/ceph-debugpack
%attr(755,root,root) %{_bindir}/ceph-dencoder
+%attr(755,root,root) %{_bindir}/ceph-detect-init
%attr(755,root,root) %{_bindir}/ceph-mds
%attr(755,root,root) %{_bindir}/ceph-mon
%attr(755,root,root) %{_bindir}/ceph-objectstore-tool
@@ -350,6 +377,7 @@ fi
%attr(755,root,root) %{_bindir}/ceph-syn
%attr(755,root,root) %{_bindir}/cephctl
%attr(755,root,root) %{_bindir}/cephfs
+%attr(755,root,root) %{_bindir}/cephfs-data-scan
%attr(755,root,root) %{_bindir}/cephfs-journal-tool
%attr(755,root,root) %{_bindir}/cephfs-table-tool
%attr(755,root,root) %{_bindir}/crushtool
@@ -359,33 +387,35 @@ fi
%attr(755,root,root) %{_bindir}/rados
%attr(755,root,root) %{_bindir}/rbd
%attr(755,root,root) %{_bindir}/rbd-fuse
+%attr(755,root,root) %{_bindir}/rbd-mirror
+%attr(755,root,root) %{_bindir}/rbd-nbd
%attr(755,root,root) %{_bindir}/rbd-replay
%attr(755,root,root) %{_bindir}/rbd-replay-many
%attr(755,root,root) %{_bindir}/rbd-replay-prep
+%attr(755,root,root) %{_bindir}/rbdmap
+%attr(755,root,root) %{_sbindir}/ceph-disk
%attr(755,root,root) /sbin/ceph-create-keys
-%attr(755,root,root) /sbin/ceph-disk
-%attr(755,root,root) /sbin/ceph-disk-activate
-%attr(755,root,root) /sbin/ceph-disk-prepare
%attr(755,root,root) /sbin/ceph-disk-udev
%attr(755,root,root) /sbin/mount.ceph
%attr(755,root,root) /sbin/mount.fuse.ceph
%if "%{_libexecdir}" != "%{_libdir}"
%dir %{_libexecdir}/ceph
%endif
+%attr(755,root,root) %{_libexecdir}/ceph/ceph-monstore-update-crush.sh
%attr(755,root,root) %{_libexecdir}/ceph/ceph-osd-prestart.sh
%dir %{_libdir}/ceph
%{_libdir}/ceph/ceph_common.sh
+%dir %{_libdir}/ceph/compressor
+%attr(755,root,root) %{_libdir}/ceph/compressor/libceph_example.so*
+%attr(755,root,root) %{_libdir}/ceph/compressor/libceph_snappy.so*
+%attr(755,root,root) %{_libdir}/ceph/compressor/libceph_zlib.so*
%dir %{_libdir}/ceph/erasure-code
-%attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_example.so*
-%attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_fail_to_initialize.so*
-%attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_fail_to_register.so*
-%attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_hangs.so*
%ifarch %{x8664}
%attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_isa.so*
%endif
%attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_jerasure.so*
%attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_jerasure_generic.so*
-%ifarch arm
+%ifarch %{arm}
%attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_jerasure_neon.so*
%endif
%ifarch %{ix86} %{x8664} x32
@@ -395,25 +425,27 @@ fi
%attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_jerasure_sse4.so*
%endif
%attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_lrc.so*
-%attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_missing_entry_point.so*
-%attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_missing_version.so*
%attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_shec.so*
-%attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_test_jerasure_generic.so*
-%attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_test_jerasure_neon.so*
-%attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_test_jerasure_sse3.so*
-%attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_test_jerasure_sse4.so*
+%attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_shec_generic.so*
+%ifarch %{ix86} %{x8664} x32
+%attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_shec_sse3.so*
+%endif
%dir %{_libdir}/rados-classes
-%attr(755,root,root) %{_libdir}/rados-classes/libcls_hello.so*
-%attr(755,root,root) %{_libdir}/rados-classes/libcls_kvs.so*
-%attr(755,root,root) %{_libdir}/rados-classes/libcls_lock.so*
-%attr(755,root,root) %{_libdir}/rados-classes/libcls_log.so*
-%attr(755,root,root) %{_libdir}/rados-classes/libcls_rbd.so*
-%attr(755,root,root) %{_libdir}/rados-classes/libcls_refcount.so*
-%attr(755,root,root) %{_libdir}/rados-classes/libcls_replica_log.so*
-%attr(755,root,root) %{_libdir}/rados-classes/libcls_rgw.so*
-%attr(755,root,root) %{_libdir}/rados-classes/libcls_statelog.so*
-%attr(755,root,root) %{_libdir}/rados-classes/libcls_user.so*
-%attr(755,root,root) %{_libdir}/rados-classes/libcls_version.so*
+%attr(755,root,root) %{_libdir}/rados-classes/libcls_cephfs.so
+%attr(755,root,root) %{_libdir}/rados-classes/libcls_hello.so
+%attr(755,root,root) %{_libdir}/rados-classes/libcls_journal.so
+%attr(755,root,root) %{_libdir}/rados-classes/libcls_kvs.so
+%attr(755,root,root) %{_libdir}/rados-classes/libcls_lock.so
+%attr(755,root,root) %{_libdir}/rados-classes/libcls_log.so
+%attr(755,root,root) %{_libdir}/rados-classes/libcls_numops.so
+%attr(755,root,root) %{_libdir}/rados-classes/libcls_rbd.so
+%attr(755,root,root) %{_libdir}/rados-classes/libcls_refcount.so
+%attr(755,root,root) %{_libdir}/rados-classes/libcls_replica_log.so
+%attr(755,root,root) %{_libdir}/rados-classes/libcls_rgw.so
+%attr(755,root,root) %{_libdir}/rados-classes/libcls_statelog.so
+%attr(755,root,root) %{_libdir}/rados-classes/libcls_timeindex.so
+%attr(755,root,root) %{_libdir}/rados-classes/libcls_user.so
+%attr(755,root,root) %{_libdir}/rados-classes/libcls_version.so
%{_datadir}/ceph
%config(noreplace) /etc/logrotate.d/ceph
%config(noreplace) %{_sysconfdir}/bash_completion.d/rados
@@ -427,6 +459,7 @@ fi
%{_mandir}/man8/ceph-debugpack.8*
%{_mandir}/man8/ceph-dencoder.8*
%{_mandir}/man8/ceph-deploy.8*
+%{_mandir}/man8/ceph-detect-init.8*
%{_mandir}/man8/ceph-disk.8*
%{_mandir}/man8/ceph-mds.8*
%{_mandir}/man8/ceph-mon.8*
@@ -447,9 +480,12 @@ fi
%{_mandir}/man8/radosgw-admin.8*
%{_mandir}/man8/rbd.8*
%{_mandir}/man8/rbd-fuse.8*
+%{_mandir}/man8/rbd-mirror.8*
+%{_mandir}/man8/rbd-nbd.8*
%{_mandir}/man8/rbd-replay.8*
%{_mandir}/man8/rbd-replay-many.8*
%{_mandir}/man8/rbd-replay-prep.8*
+%{_mandir}/man8/rbdmap.8*
%dir %{_localstatedir}/lib/ceph
%dir %{_localstatedir}/lib/ceph/mds
@@ -477,6 +513,8 @@ fi
%attr(755,root,root) %ghost %{_libdir}/librbd.so.1
%attr(755,root,root) %{_libdir}/librbd_tp.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/librbd_tp.so.1
+%attr(755,root,root) %{_libdir}/librgw.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/librgw.so.2
%files devel
%defattr(644,root,root,755)
@@ -488,6 +526,7 @@ fi
%attr(755,root,root) %{_libdir}/libradosstriper.so
%attr(755,root,root) %{_libdir}/librbd.so
%attr(755,root,root) %{_libdir}/librbd_tp.so
+%attr(755,root,root) %{_libdir}/librgw.so
%{_libdir}/libcephfs.la
%{_libdir}/libos_tp.la
%{_libdir}/libosd_tp.la
@@ -496,6 +535,7 @@ fi
%{_libdir}/libradosstriper.la
%{_libdir}/librbd.la
%{_libdir}/librbd_tp.la
+%{_libdir}/librgw.la
%{_includedir}/cephfs
%{_includedir}/rados
%{_includedir}/radosstriper
@@ -511,14 +551,24 @@ fi
%{_libdir}/libradosstriper.a
%{_libdir}/librbd.a
%{_libdir}/librbd_tp.a
+%{_libdir}/librgw.a
%files -n python-ceph
%defattr(644,root,root,755)
+%attr(755,root,root) %{py_sitedir}/cephfs.so
+%attr(755,root,root) %{py_sitedir}/rados.so
+%attr(755,root,root) %{py_sitedir}/rbd.so
+%{py_sitedir}/ceph_detect_init
+%{py_sitedir}/ceph_disk
+%{py_sitedir}/ceph_detect_init-1.0.1-py*.egg-info
+%{py_sitedir}/ceph_disk-1.0.0-py*.egg-info
+%{py_sitedir}/cephfs-0-py*.egg-info
+%{py_sitedir}/rados-0-py*.egg-info
+%{py_sitedir}/rbd-0-py*.egg-info
%{py_sitescriptdir}/ceph_argparse.py[co]
+%{py_sitescriptdir}/ceph_daemon.py[co]
%{py_sitescriptdir}/ceph_rest_api.py[co]
-%{py_sitescriptdir}/cephfs.py[co]
-%{py_sitescriptdir}/rados.py[co]
-%{py_sitescriptdir}/rbd.py[co]
+%{py_sitescriptdir}/ceph_volume_client.py[co]
%if %{with java}
%files -n java-cephfs
@@ -538,13 +588,13 @@ fi
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/radosgw
%attr(755,root,root) %{_bindir}/radosgw-admin
+%attr(755,root,root) %{_bindir}/radosgw-object-expirer
+%attr(755,root,root) %{_bindir}/radosgw-token
+%{systemdunitdir}/ceph-radosgw.target
+%{systemdunitdir}/ceph-radosgw at .service
%{_sysconfdir}/bash_completion.d/radosgw-admin
%files resource-agents
%defattr(644,root,root,755)
%dir %{_prefix}/lib/ocf/resource.d/ceph
-%attr(755,root,root) %{_prefix}/lib/ocf/resource.d/ceph/ceph
-%attr(755,root,root) %{_prefix}/lib/ocf/resource.d/ceph/mds
-%attr(755,root,root) %{_prefix}/lib/ocf/resource.d/ceph/mon
-%attr(755,root,root) %{_prefix}/lib/ocf/resource.d/ceph/osd
%attr(755,root,root) %{_prefix}/lib/ocf/resource.d/ceph/rbd
diff --git a/ceph-assert.patch b/ceph-assert.patch
new file mode 100644
index 0000000..3a131bc
--- /dev/null
+++ b/ceph-assert.patch
@@ -0,0 +1,10 @@
+--- ceph-10.2.11/src/test/librados_test_stub/TestWatchNotify.cc.orig 2018-07-09 18:23:56.000000000 +0200
++++ ceph-10.2.11/src/test/librados_test_stub/TestWatchNotify.cc 2020-05-23 14:37:53.766463510 +0200
+@@ -1,6 +1,7 @@
+ // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
+ // vim: ts=8 sw=2 smarttab
+
++#define BOOST_DISABLE_ASSERTS // broken with ceph assert.h
+ #include "test/librados_test_stub/TestWatchNotify.h"
+ #include "include/Context.h"
+ #include "common/Finisher.h"
diff --git a/ceph-link.patch b/ceph-link.patch
new file mode 100644
index 0000000..63ab49e
--- /dev/null
+++ b/ceph-link.patch
@@ -0,0 +1,175 @@
+--- ceph-10.2.11/configure.ac.orig 2018-07-09 18:23:56.000000000 +0200
++++ ceph-10.2.11/configure.ac 2020-05-22 21:04:23.958900423 +0200
+@@ -760,12 +760,12 @@
+
+ if test "x$enable_xio" = x"yes"; then
+ AC_CHECK_HEADER([libxio.h], [], AC_MSG_ERROR([Cannot find header 'libxio.h'.]))
+- AC_CHECK_LIB([xio], [xio_init], [], AC_MSG_FAILURE([Accelio libxio not found]))
+- AC_CHECK_LIB([ibverbs], [ibv_query_device], [], AC_MSG_FAILURE([libibverbs not found]))
+- AC_CHECK_LIB([rdmacm], [rdma_connect], [], AC_MSG_FAILURE([librdmacm not found]))
++ AC_CHECK_LIB([xio], [xio_init], [true], AC_MSG_FAILURE([Accelio libxio not found]))
++ AC_CHECK_LIB([ibverbs], [ibv_query_device], [true], AC_MSG_FAILURE([libibverbs not found]))
++ AC_CHECK_LIB([rdmacm], [rdma_connect], [true], AC_MSG_FAILURE([librdmacm not found]))
+
+ # Also require boost-regex, used in address_helper
+- AC_CHECK_LIB(boost_regex, main, [],
++ AC_CHECK_LIB(boost_regex, main, [true],
+ AC_MSG_FAILURE(["Boost regex library not found."]))
+
+ AC_DEFINE([HAVE_XIO], [1], [Accelio conditional compilation])
+@@ -874,7 +874,7 @@
+ AS_IF([test "x$with_librocksdb" = "xyes"],
+ [PKG_CHECK_MODULES([LIBROCKSDB], [rocksdb], [], [true])])
+ AS_IF([test "x$with_librocksdb" = "xyes"],
+- [AC_CHECK_LIB([rocksdb], [open], [], [AC_MSG_FAILURE([librocksdb not found])])])
++ [AC_CHECK_LIB([rocksdb], [open], [true], [AC_MSG_FAILURE([librocksdb not found])])])
+ AM_CONDITIONAL(WITH_DLIBROCKSDB, [ test "$with_librocksdb" = "yes" ])
+
+ AC_ARG_WITH([librocksdb-static],
+@@ -897,8 +897,8 @@
+
+ # needs libcurl and libxml2
+ if test "x$with_rest_bench" = xyes && test "x$with_system_libs3" = xno; then
+- AC_CHECK_LIB([curl], [curl_easy_init], [], AC_MSG_ERROR([libcurl not found]))
+- AC_CHECK_LIB([xml2], [xmlParseChunk], [], AC_MSG_ERROR([libxml2 not found]))
++ AC_CHECK_LIB([curl], [curl_easy_init], [true], AC_MSG_ERROR([libcurl not found]))
++ AC_CHECK_LIB([xml2], [xmlParseChunk], [true], AC_MSG_ERROR([libxml2 not found]))
+ fi
+
+ # use libaio?
+--- ceph-10.2.11/src/kv/Makefile.am.orig 2018-07-09 18:23:56.000000000 +0200
++++ ceph-10.2.11/src/kv/Makefile.am 2020-05-22 21:08:20.037621475 +0200
+@@ -1,12 +1,12 @@
+ if ENABLE_SERVER
+
+-libkv_a_SOURCES = \
++libkv_la_SOURCES = \
+ kv/KeyValueDB.cc \
+ kv/LevelDBStore.cc
+-libkv_a_CXXFLAGS = ${AM_CXXFLAGS}
+-libkv_a_LIBADD =
++libkv_la_CXXFLAGS = ${AM_CXXFLAGS}
++libkv_la_LIBADD =
+
+-noinst_LIBRARIES += libkv.a
++noinst_LTLIBRARIES += libkv.la
+
+ noinst_HEADERS += \
+ kv/KeyValueDB.h \
+@@ -29,22 +29,22 @@
+
+ rocksdb/librocksdb.a:
+ cd rocksdb && $(ROCKSDB_MAKE_VARS) $(MAKE) -j$(shell ${NPROC}) static_lib
+-libkv_a_CXXFLAGS += -I rocksdb/include -fPIC
+-libkv_a_SOURCES += kv/RocksDBStore.cc
+-libkv_a_LIBADD += rocksdb/librocksdb.a
++libkv_la_CXXFLAGS += -I rocksdb/include -fPIC
++libkv_la_SOURCES += kv/RocksDBStore.cc
++libkv_la_LIBADD += rocksdb/librocksdb.a
+ noinst_HEADERS += kv/RocksDBStore.h
+ endif
+
+ if WITH_DLIBROCKSDB
+-libkv_a_SOURCES += kv/RocksDBStore.cc
+-libkv_a_LIBADD += -lrocksdb
++libkv_la_SOURCES += kv/RocksDBStore.cc
++libkv_la_LIBADD += -lrocksdb
+ noinst_HEADERS += kv/RocksDBStore.h
+ endif
+
+ if WITH_KINETIC
+-libkv_a_SOURCES += kv/KineticStore.cc
+-libkv_a_CXXFLAGS += -std=gnu++11
+-libkv_a_LIBADD += -lkinetic_client -lprotobuf -lglog -lgflags libcrypto.a
++libkv_la_SOURCES += kv/KineticStore.cc
++libkv_la_CXXFLAGS += -std=gnu++11
++libkv_la_LIBADD += -lkinetic_client -lprotobuf -lglog -lgflags libcrypto.a
+ noinst_HEADERS += kv/KineticStore.h
+ endif
+
+--- ceph-10.2.11/src/os/Makefile.am.orig 2018-07-09 18:23:56.000000000 +0200
++++ ceph-10.2.11/src/os/Makefile.am 2020-05-22 21:11:02.663407123 +0200
+@@ -12,7 +12,7 @@
+
+ if ENABLE_SERVER
+
+-libos_a_SOURCES = \
++libos_la_SOURCES = \
+ os/filestore/chain_xattr.cc \
+ os/filestore/DBObjectMap.cc \
+ os/filestore/FileJournal.cc \
+@@ -31,11 +31,11 @@
+ os/ObjectStore.cc
+
+ if WITH_FUSE
+-libos_a_SOURCES += os/FuseStore.cc
++libos_la_SOURCES += os/FuseStore.cc
+ endif
+
+ if WITH_LIBAIO
+-libos_a_SOURCES += \
++libos_la_SOURCES += \
+ os/bluestore/kv.cc \
+ os/bluestore/Allocator.cc \
+ os/bluestore/BlockDevice.cc \
+@@ -48,25 +48,25 @@
+ endif
+
+ if LINUX
+-libos_a_SOURCES += os/filestore/BtrfsFileStoreBackend.cc
++libos_la_SOURCES += os/filestore/BtrfsFileStoreBackend.cc
+ endif
+
+ if WITH_LIBXFS
+-libos_a_SOURCES += \
++libos_la_SOURCES += \
+ os/filestore/XfsFileStoreBackend.cc \
+ os/fs/XFS.cc
+ endif
+
+ if WITH_LIBZFS
+-libos_a_SOURCES += os/filestore/ZFSFileStoreBackend.cc
++libos_la_SOURCES += os/filestore/ZFSFileStoreBackend.cc
+ endif
+
+-libos_a_CXXFLAGS = ${AM_CXXFLAGS} -I rocksdb/include -fPIC
+-libos_a_LIBADD = libos_types.a libkv.a
+-noinst_LIBRARIES += libos.a
++libos_la_CXXFLAGS = ${AM_CXXFLAGS} -I rocksdb/include -fPIC
++libos_la_LIBADD = libos_types.a libkv.la
++noinst_LTLIBRARIES += libos.la
+
+ if WITH_LTTNG
+-libos_a_LIBADD += $(LIBOS_TP)
++libos_la_LIBADD += $(LIBOS_TP)
+ endif
+
+ noinst_HEADERS += \
+@@ -140,11 +140,11 @@
+ ${top_srcdir}/src/spdk/lib/util/libspdk_util.a \
+ ${top_srcdir}/src/spdk/lib/ioat/libspdk_ioat.a
+
+-libos_a_CXXFLAGS += \
++libos_la_CXXFLAGS += \
+ ${LIBSPDK_CFLAGS} \
+ ${LIBDPDK_CFLAGS} \
+ ${LIBPCIACCESS_CFLAGS}
+-libos_a_SOURCES += os/bluestore/NVMEDevice.cc
++libos_la_SOURCES += os/bluestore/NVMEDevice.cc
+ noinst_HEADERS += os/bluestore/NVMEDevice.h
+ endif
+
+--- ceph-10.2.11/src/Makefile-env.am.orig 2018-07-09 18:23:56.000000000 +0200
++++ ceph-10.2.11/src/Makefile-env.am 2020-05-22 21:11:33.779905217 +0200
+@@ -203,9 +203,9 @@
+ LIBCRUSH = libcrush.la
+ LIBCOMPRESSOR = libcompressor.la
+ LIBJSON_SPIRIT = libjson_spirit.la
+-LIBKV = libkv.a
++LIBKV = libkv.la
+ LIBLOG = liblog.la
+-LIBOS = libos.a
++LIBOS = libos.la
+ LIBOS_TYPES = libos_types.a
+ LIBOSD = libosd.a
+ LIBOSD_TYPES = libosd_types.la
diff --git a/ceph-mds at .service b/ceph-mds at .service
deleted file mode 100644
index aec46fd..0000000
--- a/ceph-mds at .service
+++ /dev/null
@@ -1,14 +0,0 @@
-[Unit]
-Description=Ceph metadata server daemon
-After=network-online.target local-fs.target
-Wants=network-online.target local-fs.target
-PartOf=ceph.target
-
-[Service]
-EnvironmentFile=-/etc/sysconfig/ceph
-Environment=CLUSTER=ceph
-ExecStart=/usr/bin/ceph-mds -f --cluster ${CLUSTER} --id %i
-ExecReload=/bin/kill -HUP $MAINPID
-
-[Install]
-WantedBy=ceph.target
diff --git a/ceph-mon at .service b/ceph-mon at .service
deleted file mode 100644
index 421897d..0000000
--- a/ceph-mon at .service
+++ /dev/null
@@ -1,21 +0,0 @@
-[Unit]
-Description=Ceph cluster monitor daemon
-After=network-online.target
-Wants=network-online.target
-
-# According to:
-# http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget
-# these can be removed once ceph-mon will dynamically change network
-# configuration.
-After=network-online.target local-fs.target
-Wants=network-online.target local-fs.target
-PartOf=ceph.target
-
-[Service]
-EnvironmentFile=-/etc/sysconfig/ceph
-Environment=CLUSTER=ceph
-ExecStart=/usr/bin/ceph-mon -f --cluster ${CLUSTER} --id %i
-ExecReload=/bin/kill -HUP $MAINPID
-
-[Install]
-WantedBy=ceph.target
diff --git a/ceph-osd at .service b/ceph-osd at .service
deleted file mode 100644
index 1e08355..0000000
--- a/ceph-osd at .service
+++ /dev/null
@@ -1,16 +0,0 @@
-[Unit]
-Description=Ceph object storage daemon
-After=network-online.target local-fs.target
-Wants=network-online.target local-fs.target
-PartOf=ceph.target
-
-[Service]
-EnvironmentFile=-/etc/sysconfig/ceph
-Environment=CLUSTER=ceph
-ExecStart=/usr/bin/ceph-osd -f --cluster ${CLUSTER} --id %i
-ExecStartPre=/usr/lib/ceph/ceph-osd-prestart.sh --cluster ${CLUSTER} --id %i
-ExecReload=/bin/kill -HUP $MAINPID
-LimitNOFILE=131072
-
-[Install]
-WantedBy=ceph.target
diff --git a/ceph-python.patch b/ceph-python.patch
new file mode 100644
index 0000000..5d93ce4
--- /dev/null
+++ b/ceph-python.patch
@@ -0,0 +1,47 @@
+--- ceph-10.2.11/src/ceph-detect-init/Makefile.am.orig 2018-07-09 18:23:56.000000000 +0200
++++ ceph-10.2.11/src/ceph-detect-init/Makefile.am 2020-05-23 15:54:24.161595205 +0200
+@@ -67,15 +67,9 @@
+ ceph-detect-init-install-data:
+ cd $(srcdir)/ceph-detect-init ; \
+ if test "$(DESTDIR)" ; then \
+- if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
+- options=--install-layout=deb ; \
+- else \
+ options=--prefix=/usr ; \
+- fi ; \
+ root="--root=$(DESTDIR)" ; \
+ fi ; \
+- python setup.py install $$root $$options
++ $(PYTHON) setup.py install $$root $$options --optimize=2
+
+-LOCAL_ALL += ceph-detect-init-all
+-LOCAL_CLEAN += ceph-detect-init-clean
+ LOCAL_INSTALLDATA += ceph-detect-init-install-data
+--- ceph-10.2.11/src/ceph-disk/Makefile.am.orig 2018-07-09 18:23:56.000000000 +0200
++++ ceph-10.2.11/src/ceph-disk/Makefile.am 2020-05-23 15:55:36.397870535 +0200
+@@ -32,7 +32,7 @@
+
+ export CEPH_DISK_VIRTUALENV = ${CEPH_BUILD_VIRTUALENV}/ceph-disk-virtualenv
+
+-ceph-disk-all: ${CEPH_DISK_VIRTUALENV}
++ceph-disk-init-all: ${CEPH_DISK_VIRTUALENV}
+
+ ${CEPH_DISK_VIRTUALENV}:
+ cd $(srcdir)/ceph-disk ; ../tools/setup-virtualenv.sh ${CEPH_DISK_VIRTUALENV} ; test -d wheelhouse && export NO_INDEX=--no-index ; ${CEPH_DISK_VIRTUALENV}/bin/pip install $$NO_INDEX --find-links=file://$$(pwd)/wheelhouse -e .
+@@ -43,15 +43,10 @@
+ ceph-disk-install-data:
+ cd $(srcdir)/ceph-disk ; \
+ if test "$(DESTDIR)" ; then \
+- if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
+- options=--install-layout=deb ; \
+- else \
+ options=--prefix=/usr ; \
+- fi ; \
+ root="--root=$(DESTDIR) --install-script=/usr/sbin" ; \
+ fi ; \
+- python setup.py install $$root $$options
++ $(PYTHON) setup.py install $$root $$options --optimize=2
+
+-LOCAL_ALL += ceph-disk-all
+ LOCAL_CLEAN += ceph-disk-clean
+ LOCAL_INSTALLDATA += ceph-disk-install-data
diff --git a/ceph.logrotate.patch b/ceph.logrotate.patch
index bdde0fa..6702afc 100644
--- a/ceph.logrotate.patch
+++ b/ceph.logrotate.patch
@@ -1,29 +1,10 @@
---- ceph-0.94.7/src/logrotate.conf.orig 2016-05-21 07:57:16.259310201 +0200
-+++ ceph-0.94.7/src/logrotate.conf 2016-05-21 07:59:10.385972051 +0200
-@@ -4,26 +4,7 @@
+--- ceph-10.2.11/src/logrotate.conf.orig 2018-07-09 18:23:56.000000000 +0200
++++ ceph-10.2.11/src/logrotate.conf 2020-05-23 15:03:02.828288220 +0200
+@@ -4,7 +4,7 @@
compress
sharedscripts
postrotate
-- if which service > /dev/null 2>&1 && [ -x `which service` ]; then
-- service ceph reload >/dev/null
-- elif which invoke-rc.d > /dev/null 2>&1 && [ -x `which invoke-rc.d` ]; then
-- invoke-rc.d ceph reload >/dev/null
-- fi
-- # Possibly reload twice, but depending on ceph.conf the reload above may be a no-op
-- if which initctl > /dev/null 2>&1 && [ -x `which initctl` ]; then
-- for daemon in osd mon mds ; do
-- find -L /var/lib/ceph/$daemon/ -mindepth 1 -maxdepth 1 -regextype posix-egrep -regex '.*/[A-Za-z0-9]+-[A-Za-z0-9._-]+' -printf '%P\n' \
-- | while read f; do
-- if [ -e "/var/lib/ceph/$daemon/$f/done" -o -e "/var/lib/ceph/$daemon/$f/ready" ] && [ -e "/var/lib/ceph/$daemon/$f/upstart" ] && [ ! -e "/var/lib/ceph/$daemon/$f/sysvinit" ]; then
-- cluster="${f%%-*}"
-- id="${f#*-}"
--
-- initctl reload ceph-$daemon cluster="$cluster" id="$id" 2>/dev/null || :
-- fi
-- done
-- done
-- fi
-- killall -q -1 ceph-fuse || true
+- killall -q -1 ceph-mon ceph-mds ceph-osd ceph-fuse radosgw || true
+ cephctl reload >/dev/null 2>/dev/null
endscript
missingok
diff --git a/ceph.target b/ceph.target
deleted file mode 100644
index 60734ba..0000000
--- a/ceph.target
+++ /dev/null
@@ -1,4 +0,0 @@
-[Unit]
-Description=ceph target allowing to start/stop all ceph*@.service instances at once
-[Install]
-WantedBy=multi-user.target
diff --git a/cxx.patch b/cxx.patch
deleted file mode 100644
index af7ecfd..0000000
--- a/cxx.patch
+++ /dev/null
@@ -1,390 +0,0 @@
-diff -ur ceph-0.94.10/src/client/SyntheticClient.cc ceph-0.94.10-cxx/src/client/SyntheticClient.cc
---- ceph-0.94.10/src/client/SyntheticClient.cc 2017-02-21 16:13:19.000000000 +0100
-+++ ceph-0.94.10-cxx/src/client/SyntheticClient.cc 2017-04-29 12:25:26.633497617 +0200
-@@ -601,7 +601,7 @@
- int size = iargs.front(); iargs.pop_front();
- int inflight = iargs.front(); iargs.pop_front();
- if (run_me()) {
-- dout(2) << "createobjects " << cout << " of " << size << " bytes"
-+ dout(2) << "createobjects " << cout.rdbuf() << " of " << size << " bytes"
- << ", " << inflight << " in flight" << dendl;
- create_objects(count, size, inflight);
- }
-@@ -617,7 +617,7 @@
- int rskew = iargs.front(); iargs.pop_front();
- int wskew = iargs.front(); iargs.pop_front();
- if (run_me()) {
-- dout(2) << "objectrw " << cout << " " << size << " " << wrpc
-+ dout(2) << "objectrw " << cout.rdbuf() << " " << size << " " << wrpc
- << " " << overlap << " " << rskew << " " << wskew << dendl;
- object_rw(count, size, wrpc, overlap, rskew, wskew);
- }
-diff -ur ceph-0.94.10/src/common/admin_socket.cc ceph-0.94.10-cxx/src/common/admin_socket.cc
---- ceph-0.94.10/src/common/admin_socket.cc 2017-02-21 16:13:19.000000000 +0100
-+++ ceph-0.94.10-cxx/src/common/admin_socket.cc 2017-04-29 09:57:25.062251956 +0200
-@@ -352,7 +352,7 @@
- stringstream errss;
- cmdvec.push_back(cmd);
- if (!cmdmap_from_json(cmdvec, &cmdmap, errss)) {
-- ldout(m_cct, 0) << "AdminSocket: " << errss << dendl;
-+ ldout(m_cct, 0) << "AdminSocket: " << errss.rdbuf() << dendl;
- return false;
- }
- cmd_getval(m_cct, cmdmap, "format", format);
-diff -ur ceph-0.94.10/src/common/ceph_json.h ceph-0.94.10-cxx/src/common/ceph_json.h
---- ceph-0.94.10/src/common/ceph_json.h 2017-02-21 16:13:19.000000000 +0100
-+++ ceph-0.94.10-cxx/src/common/ceph_json.h 2017-04-29 11:13:38.925899980 +0200
-@@ -198,7 +198,7 @@
- JSONObj *o = *iter;
- JSONDecoder::decode_json("key", key, o);
- JSONDecoder::decode_json("val", val, o);
-- m.insert(make_pair<K, V>(key, val));
-+ m.insert(make_pair(key, val));
- }
- }
-
-diff -ur ceph-0.94.10/src/common/cmdparse.cc ceph-0.94.10-cxx/src/common/cmdparse.cc
---- ceph-0.94.10/src/common/cmdparse.cc 2017-02-21 16:13:19.000000000 +0100
-+++ ceph-0.94.10-cxx/src/common/cmdparse.cc 2017-04-29 09:58:13.362841243 +0200
-@@ -224,7 +224,7 @@
- BackTrace bt(1);
- ostringstream oss;
- bt.print(oss);
-- lderr(cct) << oss << dendl;
-+ lderr(cct) << oss.rdbuf() << dendl;
- if (status == 0)
- free((char *)typestr);
- }
-diff -ur ceph-0.94.10/src/common/LogClient.h ceph-0.94.10-cxx/src/common/LogClient.h
---- ceph-0.94.10/src/common/LogClient.h 2017-02-21 16:13:19.000000000 +0100
-+++ ceph-0.94.10-cxx/src/common/LogClient.h 2017-04-29 09:55:08.930587122 +0200
-@@ -137,7 +137,7 @@
- }
- bool must_log_to_monitors() { return log_to_monitors; }
-
-- typedef shared_ptr<LogChannel> Ref;
-+ typedef std::shared_ptr<LogChannel> Ref;
-
- /**
- * update config values from parsed k/v map for each config option
-diff -ur ceph-0.94.10/src/mds/CInode.cc ceph-0.94.10-cxx/src/mds/CInode.cc
---- ceph-0.94.10/src/mds/CInode.cc 2017-02-21 16:13:19.000000000 +0100
-+++ ceph-0.94.10-cxx/src/mds/CInode.cc 2017-04-29 10:44:49.563391124 +0200
-@@ -3791,7 +3791,7 @@
- f->dump_int("read_ret_val", backtrace.ondisk_read_retval);
- f->dump_stream("ondisk_value") << backtrace.ondisk_value;
- f->dump_stream("memoryvalue") << backtrace.memory_value;
-- f->dump_stream("error_str") << backtrace.error_str;
-+ f->dump_stream("error_str") << backtrace.error_str.rdbuf();
- }
- f->close_section(); // backtrace
- f->open_object_section("raw_rstats");
-@@ -3801,7 +3801,7 @@
- f->dump_int("read_ret_val", raw_rstats.ondisk_read_retval);
- f->dump_stream("ondisk_value") << raw_rstats.ondisk_value;
- f->dump_stream("memory_value") << raw_rstats.memory_value;
-- f->dump_stream("error_str") << raw_rstats.error_str;
-+ f->dump_stream("error_str") << raw_rstats.error_str.rdbuf();
- }
- f->close_section(); // raw_rstats
- // dump failure return code
-diff -ur ceph-0.94.10/src/mds/mdstypes.h ceph-0.94.10-cxx/src/mds/mdstypes.h
---- ceph-0.94.10/src/mds/mdstypes.h 2017-02-21 16:13:19.000000000 +0100
-+++ ceph-0.94.10-cxx/src/mds/mdstypes.h 2017-04-29 11:15:44.723963614 +0200
-@@ -71,7 +71,7 @@
- #define MDS_TRAVERSE_DISCOVERXLOCK 3 // succeeds on (foreign?) null, xlocked dentries.
-
-
--BOOST_STRONG_TYPEDEF(int32_t, mds_rank_t)
-+typedef int32_t mds_rank_t;
- BOOST_STRONG_TYPEDEF(uint64_t, mds_gid_t)
- extern const mds_gid_t MDS_GID_NONE;
- extern const mds_rank_t MDS_RANK_NONE;
-diff -ur ceph-0.94.10/src/mon/OSDMonitor.cc ceph-0.94.10-cxx/src/mon/OSDMonitor.cc
---- ceph-0.94.10/src/mon/OSDMonitor.cc 2017-02-21 16:13:19.000000000 +0100
-+++ ceph-0.94.10-cxx/src/mon/OSDMonitor.cc 2017-04-29 10:17:06.705748922 +0200
-@@ -4401,7 +4401,7 @@
- if (err == 0) {
- k = erasure_code->get_data_chunk_count();
- } else {
-- ss << __func__ << " get_erasure_code failed: " << tmp;
-+ ss << __func__ << " get_erasure_code failed: " << tmp.rdbuf();
- return err;;
- }
-
-diff -ur ceph-0.94.10/src/msg/simple/Pipe.cc ceph-0.94.10-cxx/src/msg/simple/Pipe.cc
---- ceph-0.94.10/src/msg/simple/Pipe.cc 2017-02-21 16:13:19.000000000 +0100
-+++ ceph-0.94.10-cxx/src/msg/simple/Pipe.cc 2017-04-29 10:05:09.937087135 +0200
-@@ -181,7 +181,7 @@
-
- void Pipe::DelayedDelivery::discard()
- {
-- lgeneric_subdout(pipe->msgr->cct, ms, 20) << pipe->_pipe_prefix(_dout) << "DelayedDelivery::discard" << dendl;
-+ lgeneric_subdout(pipe->msgr->cct, ms, 20) << pipe->_pipe_prefix(_dout).rdbuf() << "DelayedDelivery::discard" << dendl;
- Mutex::Locker l(delay_lock);
- while (!delay_queue.empty()) {
- Message *m = delay_queue.front().second;
-@@ -193,7 +193,7 @@
-
- void Pipe::DelayedDelivery::flush()
- {
-- lgeneric_subdout(pipe->msgr->cct, ms, 20) << pipe->_pipe_prefix(_dout) << "DelayedDelivery::flush" << dendl;
-+ lgeneric_subdout(pipe->msgr->cct, ms, 20) << pipe->_pipe_prefix(_dout).rdbuf() << "DelayedDelivery::flush" << dendl;
- Mutex::Locker l(delay_lock);
- flush_count = delay_queue.size();
- delay_cond.Signal();
-@@ -202,11 +202,11 @@
- void *Pipe::DelayedDelivery::entry()
- {
- Mutex::Locker locker(delay_lock);
-- lgeneric_subdout(pipe->msgr->cct, ms, 20) << pipe->_pipe_prefix(_dout) << "DelayedDelivery::entry start" << dendl;
-+ lgeneric_subdout(pipe->msgr->cct, ms, 20) << pipe->_pipe_prefix(_dout).rdbuf() << "DelayedDelivery::entry start" << dendl;
-
- while (!stop_delayed_delivery) {
- if (delay_queue.empty()) {
-- lgeneric_subdout(pipe->msgr->cct, ms, 30) << pipe->_pipe_prefix(_dout) << "DelayedDelivery::entry sleeping on delay_cond because delay queue is empty" << dendl;
-+ lgeneric_subdout(pipe->msgr->cct, ms, 30) << pipe->_pipe_prefix(_dout).rdbuf() << "DelayedDelivery::entry sleeping on delay_cond because delay queue is empty" << dendl;
- delay_cond.Wait(delay_lock);
- continue;
- }
-@@ -216,11 +216,11 @@
- if (!flush_count &&
- (release > ceph_clock_now(pipe->msgr->cct) &&
- (delay_msg_type.empty() || m->get_type_name() == delay_msg_type))) {
-- lgeneric_subdout(pipe->msgr->cct, ms, 10) << pipe->_pipe_prefix(_dout) << "DelayedDelivery::entry sleeping on delay_cond until " << release << dendl;
-+ lgeneric_subdout(pipe->msgr->cct, ms, 10) << pipe->_pipe_prefix(_dout).rdbuf() << "DelayedDelivery::entry sleeping on delay_cond until " << release << dendl;
- delay_cond.WaitUntil(delay_lock, release);
- continue;
- }
-- lgeneric_subdout(pipe->msgr->cct, ms, 10) << pipe->_pipe_prefix(_dout) << "DelayedDelivery::entry dequeuing message " << m << " for delivery, past " << release << dendl;
-+ lgeneric_subdout(pipe->msgr->cct, ms, 10) << pipe->_pipe_prefix(_dout).rdbuf() << "DelayedDelivery::entry dequeuing message " << m << " for delivery, past " << release << dendl;
- delay_queue.pop_front();
- if (flush_count > 0) {
- --flush_count;
-@@ -245,7 +245,7 @@
- }
- active_flush = false;
- }
-- lgeneric_subdout(pipe->msgr->cct, ms, 20) << pipe->_pipe_prefix(_dout) << "DelayedDelivery::entry stop" << dendl;
-+ lgeneric_subdout(pipe->msgr->cct, ms, 20) << pipe->_pipe_prefix(_dout).rdbuf() << "DelayedDelivery::entry stop" << dendl;
- return NULL;
- }
-
-diff -ur ceph-0.94.10/src/osd/PG.cc ceph-0.94.10-cxx/src/osd/PG.cc
---- ceph-0.94.10/src/osd/PG.cc 2017-02-21 16:13:19.000000000 +0100
-+++ ceph-0.94.10-cxx/src/osd/PG.cc 2017-04-29 10:54:40.743267753 +0200
-@@ -3144,7 +3144,7 @@
- info_struct_v < 8 ? OSD::make_pg_log_oid(pg_id) : pgmeta_oid,
- info, oss);
- if (oss.str().length())
-- osd->clog->error() << oss;
-+ osd->clog->error() << oss.rdbuf();
-
- // log any weirdness
- log_weirdness();
-diff -ur ceph-0.94.10/src/rgw/rgw_cache.cc ceph-0.94.10-cxx/src/rgw/rgw_cache.cc
---- ceph-0.94.10/src/rgw/rgw_cache.cc 2017-02-21 16:13:19.000000000 +0100
-+++ ceph-0.94.10-cxx/src/rgw/rgw_cache.cc 2017-04-29 11:09:17.823000713 +0200
-@@ -105,7 +105,7 @@
- for (liter = cache_entry_list.begin(); liter != cache_entry_list.end(); ++liter) {
- ObjectCacheEntry *entry = *liter;
-
-- entry->chained_entries.push_back(make_pair<RGWChainedCache *, string>(chained_entry->cache, chained_entry->key));
-+ entry->chained_entries.push_back(make_pair(chained_entry->cache, chained_entry->key));
- }
-
- return true;
-diff -ur ceph-0.94.10/src/test/librbd/test_ImageWatcher.cc ceph-0.94.10-cxx/src/test/librbd/test_ImageWatcher.cc
---- ceph-0.94.10/src/test/librbd/test_ImageWatcher.cc 2017-02-21 16:13:19.000000000 +0100
-+++ ceph-0.94.10-cxx/src/test/librbd/test_ImageWatcher.cc 2017-04-29 11:58:28.225636783 +0200
-@@ -383,8 +383,7 @@
- ASSERT_EQ(0, open_image(m_image_name, &ictx));
-
- ASSERT_EQ(0, register_image_watch(*ictx));
-- m_notify_acks = boost::assign::list_of(
-- std::make_pair(NOTIFY_OP_ACQUIRED_LOCK, bufferlist()));
-+ m_notify_acks = {{NOTIFY_OP_ACQUIRED_LOCK, {}}};
-
- {
- RWLock::WLocker l(ictx->owner_lock);
-@@ -474,8 +473,7 @@
- ASSERT_EQ(0, open_image(m_image_name, &ictx));
-
- ASSERT_EQ(0, register_image_watch(*ictx));
-- m_notify_acks = boost::assign::list_of(
-- std::make_pair(NOTIFY_OP_ACQUIRED_LOCK, bufferlist()));
-+ m_notify_acks = {{NOTIFY_OP_ACQUIRED_LOCK, {}}};
-
- {
- RWLock::WLocker l(ictx->owner_lock);
-@@ -528,8 +526,7 @@
- ASSERT_EQ(0, lock_image(*ictx, LOCK_EXCLUSIVE,
- "auto " + stringify(m_watch_ctx->get_handle())));
-
-- m_notify_acks = boost::assign::list_of(
-- std::make_pair(NOTIFY_OP_REQUEST_LOCK, create_response_message(0)));
-+ m_notify_acks = {{NOTIFY_OP_REQUEST_LOCK, create_response_message(0)}};
-
- {
- RWLock::WLocker l(ictx->owner_lock);
-@@ -549,9 +546,7 @@
- ASSERT_EQ(0, unlock_image());
-
- m_notifies.clear();
-- m_notify_acks = boost::assign::list_of(
-- std::make_pair(NOTIFY_OP_RELEASED_LOCK, bufferlist()))(
-- std::make_pair(NOTIFY_OP_ACQUIRED_LOCK, bufferlist()));
-+ m_notify_acks = {{NOTIFY_OP_RELEASED_LOCK, {}}, {NOTIFY_OP_ACQUIRED_LOCK, {}}};
-
- bufferlist bl;
- {
-@@ -578,8 +573,7 @@
- ASSERT_EQ(0, lock_image(*ictx, LOCK_EXCLUSIVE,
- "auto " + stringify(m_watch_ctx->get_handle())));
-
-- m_notify_acks = boost::assign::list_of(
-- std::make_pair(NOTIFY_OP_REQUEST_LOCK, bufferlist()));
-+ m_notify_acks = {{NOTIFY_OP_REQUEST_LOCK, {}}};
-
- m_expected_aio_restarts = 1;
- {
-@@ -606,8 +600,7 @@
- ASSERT_EQ(0, lock_image(*ictx, LOCK_EXCLUSIVE,
- "auto " + stringify(m_watch_ctx->get_handle())));
-
-- m_notify_acks = boost::assign::list_of(
-- std::make_pair(NOTIFY_OP_REQUEST_LOCK, create_response_message(0)));
-+ m_notify_acks = {{NOTIFY_OP_REQUEST_LOCK, create_response_message(0)}};
-
- int orig_notify_timeout = ictx->cct->_conf->client_notify_timeout;
- ictx->cct->_conf->set_val("client_notify_timeout", "0");
-@@ -645,8 +638,7 @@
- ASSERT_EQ(0, lock_image(*ictx, LOCK_EXCLUSIVE,
- "auto " + stringify(m_watch_ctx->get_handle())));
-
-- m_notify_acks = boost::assign::list_of(
-- std::make_pair(NOTIFY_OP_REQUEST_LOCK, create_response_message(0)));
-+ m_notify_acks = {{NOTIFY_OP_REQUEST_LOCK, create_response_message(0)}};
-
- m_expected_aio_restarts = 1;
- {
-@@ -662,8 +654,7 @@
- ASSERT_EQ(expected_notify_ops, m_notifies);
-
- m_notifies.clear();
-- m_notify_acks = boost::assign::list_of(
-- std::make_pair(NOTIFY_OP_RELEASED_LOCK, bufferlist()));
-+ m_notify_acks = {{NOTIFY_OP_RELEASED_LOCK, {}}};
-
- bufferlist bl;
- {
-@@ -703,8 +694,7 @@
- ASSERT_EQ(0, lock_image(*ictx, LOCK_EXCLUSIVE,
- "auto " + stringify(m_watch_ctx->get_handle())));
-
-- m_notify_acks = boost::assign::list_of(
-- std::make_pair(NOTIFY_OP_REQUEST_LOCK, create_response_message(0)));
-+ m_notify_acks = {{NOTIFY_OP_REQUEST_LOCK, create_response_message(0)}};
-
- m_expected_aio_restarts = 1;
- {
-@@ -723,8 +713,7 @@
- ASSERT_EQ(0, lock_image(*ictx, LOCK_SHARED, "manually 1234"));
-
- m_notifies.clear();
-- m_notify_acks = boost::assign::list_of(
-- std::make_pair(NOTIFY_OP_RELEASED_LOCK, bufferlist()));
-+ m_notify_acks = {{NOTIFY_OP_RELEASED_LOCK, {}}};
-
- bufferlist bl;
- {
-@@ -744,8 +733,7 @@
-
- ASSERT_EQ(0, register_image_watch(*ictx));
-
-- m_notify_acks = boost::assign::list_of(
-- std::make_pair(NOTIFY_OP_HEADER_UPDATE, bufferlist()));
-+ m_notify_acks = {{NOTIFY_OP_HEADER_UPDATE, {}}};
- librbd::ImageWatcher::notify_header_update(m_ioctx, ictx->header_oid);
-
- ASSERT_TRUE(wait_for_notifies(*ictx));
-@@ -765,8 +753,7 @@
- ASSERT_EQ(0, lock_image(*ictx, LOCK_EXCLUSIVE,
- "auto " + stringify(m_watch_ctx->get_handle())));
-
-- m_notify_acks = boost::assign::list_of(
-- std::make_pair(NOTIFY_OP_FLATTEN, create_response_message(0)));
-+ m_notify_acks = {{NOTIFY_OP_FLATTEN, create_response_message(0)}};
-
- ProgressContext progress_context;
- FlattenTask flatten_task(ictx, &progress_context);
-@@ -800,8 +787,7 @@
- ASSERT_EQ(0, lock_image(*ictx, LOCK_EXCLUSIVE,
- "auto " + stringify(m_watch_ctx->get_handle())));
-
-- m_notify_acks = boost::assign::list_of(
-- std::make_pair(NOTIFY_OP_RESIZE, create_response_message(0)));
-+ m_notify_acks = {{NOTIFY_OP_RESIZE, create_response_message(0)}};
-
- ProgressContext progress_context;
- ResizeTask resize_task(ictx, &progress_context);
-@@ -835,8 +821,7 @@
- ASSERT_EQ(0, lock_image(*ictx, LOCK_EXCLUSIVE,
- "auto " + stringify(m_watch_ctx->get_handle())));
-
-- m_notify_acks = boost::assign::list_of(
-- std::make_pair(NOTIFY_OP_SNAP_CREATE, create_response_message(0)));
-+ m_notify_acks = {{NOTIFY_OP_SNAP_CREATE, create_response_message(0)}};
-
- RWLock::RLocker l(ictx->owner_lock);
- ASSERT_EQ(0, ictx->image_watcher->notify_snap_create("snap"));
-@@ -856,8 +841,7 @@
- ASSERT_EQ(0, lock_image(*ictx, LOCK_EXCLUSIVE,
- "auto " + stringify(m_watch_ctx->get_handle())));
-
-- m_notify_acks = boost::assign::list_of(
-- std::make_pair(NOTIFY_OP_SNAP_CREATE, create_response_message(-EEXIST)));
-+ m_notify_acks = {{NOTIFY_OP_SNAP_CREATE, create_response_message(-EEXIST)}};
-
- RWLock::RLocker l(ictx->owner_lock);
- ASSERT_EQ(-EEXIST, ictx->image_watcher->notify_snap_create("snap"));
-@@ -877,8 +861,7 @@
- ASSERT_EQ(0, lock_image(*ictx, LOCK_EXCLUSIVE,
- "auto " + stringify(m_watch_ctx->get_handle())));
-
-- m_notify_acks = boost::assign::list_of(
-- std::make_pair(NOTIFY_OP_FLATTEN, bufferlist()));
-+ m_notify_acks = {{NOTIFY_OP_FLATTEN, {}}};
-
- ProgressContext progress_context;
- FlattenTask flatten_task(ictx, &progress_context);
-@@ -898,8 +881,7 @@
- ASSERT_EQ(0, lock_image(*ictx, LOCK_EXCLUSIVE,
- "auto " + stringify(m_watch_ctx->get_handle())));
-
-- m_notify_acks = boost::assign::list_of(
-- std::make_pair(NOTIFY_OP_FLATTEN, create_response_message(-EIO)));
-+ m_notify_acks = {{NOTIFY_OP_FLATTEN, create_response_message(-EIO)}};
-
- ProgressContext progress_context;
- FlattenTask flatten_task(ictx, &progress_context);
-@@ -919,8 +901,7 @@
- ASSERT_EQ(0, lock_image(*ictx, LOCK_EXCLUSIVE,
- "auto " + stringify(m_watch_ctx->get_handle())));
-
-- m_notify_acks = boost::assign::list_of(
-- std::make_pair(NOTIFY_OP_FLATTEN, create_response_message(0)));
-+ m_notify_acks = {{NOTIFY_OP_FLATTEN, create_response_message(0)}};
-
- ProgressContext progress_context;
- FlattenTask flatten_task(ictx, &progress_context);
-@@ -960,8 +941,7 @@
- ASSERT_EQ(0, lock_image(*ictx, LOCK_EXCLUSIVE,
- "auto " + stringify(m_watch_ctx->get_handle())));
-
-- m_notify_acks = boost::assign::list_of(
-- std::make_pair(NOTIFY_OP_FLATTEN, create_response_message(0)));
-+ m_notify_acks = {{NOTIFY_OP_FLATTEN, create_response_message(0)}};
-
- ProgressContext progress_context;
- FlattenTask flatten_task(ictx, &progress_context);
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/ceph.git/commitdiff/bbcdc7ce329d6d431d47d60765d963458ddc051b
More information about the pld-cvs-commit
mailing list