Compare commits

...

10 Commits

Author SHA1 Message Date
Kaleb S. KEITHLEY aaedf07964 ceph-17.2.6 GA
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-04-07 07:39:30 -04:00
Kaleb S. KEITHLEY f33cca0cb6 ceph-17.2.5, rebuild with bundled boost until boost-1.81 compatible
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-02-23 11:15:25 -05:00
Kaleb S. KEITHLEY c613a7913d ceph-17.2.5, rebuild with bundled boost until boost-1.81 compatible
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-02-22 20:49:33 -05:00
Jonathan Wakely 32b1af1542 Rebuilt for Boost 1.81 2023-02-20 21:49:50 +00:00
Kaleb S. KEITHLEY 0d92b145fb ceph-17.2.5, rebuild with libarrow-11, this time for real
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-02-17 10:40:07 -05:00
Kaleb S. KEITHLEY 1fd4067b59 ceph-17.2.5, rebuild with libarrow-11
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-02-15 17:56:26 -05:00
Kaleb S. KEITHLEY 68c121780b ceph-17.2.5, more ELN (rhel 10)
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-01-27 07:44:15 -05:00
Kaleb S. KEITHLEY c63ac8cd1c ceph-17.2.5, rocksdb on ELN
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-01-26 18:31:47 -05:00
Kaleb S. KEITHLEY 0cef2ba27d ceph-17.2.5, rebuild with gtest-13 rhbz#2163823
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-01-24 10:01:05 -05:00
Kaleb S. KEITHLEY da92657ed9 Use _fortify_level to disable fortification.
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-01-20 16:13:04 -05:00
5 changed files with 194 additions and 21 deletions

View File

@ -90,3 +90,13 @@
namespace librbd {
--- ceph-17.2.5/src/rocksdb/db/compaction/compaction_iteration_stats.h.orig 2023-01-26 17:05:20.605333926 -0500
+++ ceph-17.2.5/src/rocksdb/db/compaction/compaction_iteration_stats.h 2023-01-26 17:05:46.376880846 -0500
@@ -6,6 +6,7 @@
#pragma once
#include "rocksdb/rocksdb_namespace.h"
+#include <cstdint>
struct CompactionIterationStats {
// Compaction statistics

View File

@ -0,0 +1,42 @@
From 73218e291ca68a927965bdffa7d43d0fc62c2718 Mon Sep 17 00:00:00 2001
From: Ondrej Mosnacek <omosnace@redhat.com>
Date: Wed, 27 Jul 2022 17:14:25 +0200
Subject: [PATCH] selinux: prepare for anon inode controls enablement
We plan to start labeling anon inodes (userfaultfd and io_uring file
descriptors) properly in selinux-policy, which means that domains using
these will need new rules.
See: https://github.com/fedora-selinux/selinux-policy/pull/1351
Since ceph may optionally use io_uring, this patch adds the necessary
interface call to its policy to avoid a regression. As the new interface
call is put under a conditional, the policy package will be buildable
against selinux-policy with or without the above PR merged, but it will
need to be rebuilt against the updated selinux-policy to actually pick
up the new rules.
I tested this on a minimal ceph cluster with 'bdev_ioring = true' added
to ceph.conf. I got io_uring denials without this patch + with
selinux-policy with PR#1351 and no denials with ceph rebuilt with this
patch.
Signed-off-by: Ondrej Mosnacek <omosnace@redhat.com>
---
selinux/ceph.te | 3 +++
1 file changed, 3 insertions(+)
diff --git a/selinux/ceph.te b/selinux/ceph.te
index 77d35d9714b60..729bce1fc8589 100644
--- a/selinux/ceph.te
+++ b/selinux/ceph.te
@@ -75,6 +75,9 @@ manage_lnk_files_pattern(ceph_t, ceph_var_run_t, ceph_var_run_t)
kernel_read_system_state(ceph_t)
kernel_read_network_state(ceph_t)
+ifdef(`kernel_io_uring_use',`
+ kernel_io_uring_use(ceph_t)
+')
allow ceph_t kernel_t:system module_request;
corenet_all_recvfrom_unlabeled(ceph_t)

View File

@ -0,0 +1,99 @@
--- ceph-17.2.5/src/boost/libs/python/src/object/enum.cpp.orig 2023-02-23 08:45:36.498595122 -0500
+++ ceph-17.2.5/src/boost/libs/python/src/object/enum.cpp 2023-02-23 08:46:11.277990890 -0500
@@ -153,7 +153,7 @@
{
if (enum_type_object.tp_dict == 0)
{
- Py_TYPE(&enum_type_object) = incref(&PyType_Type);
+ Py_SET_TYPE(&enum_type_object, incref(&PyType_Type));
#if PY_VERSION_HEX >= 0x03000000
enum_type_object.tp_base = &PyLong_Type;
#else
--- ceph-17.2.5/src/boost/libs/python/src/object/function.cpp.orig 2023-02-23 08:44:19.995920877 -0500
+++ ceph-17.2.5/src/boost/libs/python/src/object/function.cpp 2023-02-23 08:45:26.426770100 -0500
@@ -107,7 +107,7 @@
PyObject* p = this;
if (Py_TYPE(&function_type) == 0)
{
- Py_TYPE(&function_type) = &PyType_Type;
+ Py_SET_TYPE(&function_type, &PyType_Type);
::PyType_Ready(&function_type);
}
--- ceph-17.2.5/src/boost/libs/python/src/object/life_support.cpp.orig 2023-02-23 08:43:37.511650115 -0500
+++ ceph-17.2.5/src/boost/libs/python/src/object/life_support.cpp 2023-02-23 08:44:10.225088588 -0500
@@ -93,7 +93,7 @@
if (Py_TYPE(&life_support_type) == 0)
{
- Py_TYPE(&life_support_type) = &PyType_Type;
+ Py_SET_TYPE(&life_support_type, &PyType_Type);
PyType_Ready(&life_support_type);
}
--- ceph-17.2.5/src/boost/libs/python/src/object/class.cpp.orig 2023-02-23 08:46:22.394797757 -0500
+++ ceph-17.2.5/src/boost/libs/python/src/object/class.cpp 2023-02-23 10:54:56.016527900 -0500
@@ -21,6 +21,7 @@
#include <boost/python/dict.hpp>
#include <boost/python/str.hpp>
#include <boost/python/ssize_t.hpp>
+#include <boost/align/detail/align.hpp>
#include <functional>
#include <vector>
#include <cstddef>
@@ -208,7 +209,7 @@
{
if (static_data_object.tp_dict == 0)
{
- Py_TYPE(&static_data_object) = &PyType_Type;
+ Py_SET_TYPE(&static_data_object, &PyType_Type);
static_data_object.tp_base = &PyProperty_Type;
if (PyType_Ready(&static_data_object))
return 0;
@@ -316,7 +317,7 @@
{
if (class_metatype_object.tp_dict == 0)
{
- Py_TYPE(&class_metatype_object) = &PyType_Type;
+ Py_SET_TYPE(&class_metatype_object, &PyType_Type);
class_metatype_object.tp_base = &PyType_Type;
if (PyType_Ready(&class_metatype_object))
return type_handle();
@@ -374,12 +375,7 @@
// like, so we'll store the total size of the object
// there. A negative number indicates that the extra
// instance memory is not yet allocated to any holders.
-#if PY_VERSION_HEX >= 0x02060000
- Py_SIZE(result) =
-#else
- result->ob_size =
-#endif
- -(static_cast<int>(offsetof(instance<>,storage) + instance_size));
+ Py_SET_SIZE(result,-static_cast<int>(offsetof(instance<>,storage) + instance_size));
}
return (PyObject*)result;
}
@@ -470,7 +466,7 @@
{
if (class_type_object.tp_dict == 0)
{
- Py_TYPE(&class_type_object) = incref(class_metatype().get());
+ Py_SET_TYPE(&class_type_object, incref(class_metatype().get()));
class_type_object.tp_base = &PyBaseObject_Type;
if (PyType_Ready(&class_type_object))
return type_handle();
@@ -738,8 +734,13 @@
// holder_offset should at least point into the variable-sized part
assert(holder_offset >= offsetof(objects::instance<>,storage));
+ size_t allocated = holder_size + 8;
+ void* storage = (char*)self + holder_offset;
+ void* aligned_storage = ::boost::alignment::align(8, holder_size, storage, allocated);
+
// Record the fact that the storage is occupied, noting where it starts
- Py_SIZE(self) = holder_offset;
+ const size_t offset = reinterpret_cast<uintptr_t>(aligned_storage) - reinterpret_cast<uintptr_t>(storage) + holder_offset;
+ Py_SET_SIZE(self, offset);
return (char*)self + holder_offset;
}
else

View File

@ -20,8 +20,6 @@
# please read this for explanation of bcond syntax:
# https://rpm-software-management.github.io/rpm/manual/conditionalbuilds.html
#################################################################################
%global _hardened_build 1
%bcond_with make_check
%bcond_with zbd
%bcond_with cmake_verbose_logging
@ -93,7 +91,7 @@
%endif
%bcond_with seastar
%bcond_with jaeger
%if 0%{?fedora} || 0%{?suse_version} >= 1500
%if 0%{?fedora} || 0%{?suse_version} >= 1500 || 0%{?rhel} >= 10
# distros that ship cmd2 and/or colorama
%bcond_without cephfs_shell
%else
@ -161,8 +159,8 @@
# main package definition
#################################################################################
Name: ceph
Version: 17.2.5
Release: 5%{?dist}
Version: 17.2.6
Release: 1%{?dist}
%if 0%{?fedora} || 0%{?rhel}
Epoch: 2
%endif
@ -193,6 +191,8 @@ Patch0019: 0019-cmake-modules-CheckCxxAtomic.cmake.patch
Patch0020: 0020-src-arrow-cpp-cmake_modules-ThirdpartyToolchain.cmake.patch
Patch0023: 0023-src-s3select-include-s3select_parquet_intrf.h.patch
Patch0024: 0024-gcc-13.patch
Patch0025: 0025-selinux-prepare-for-anon-inode-controls-enablement.patch
Patch0026: 0026-src-boost-libs-python-src-object.patch
# ceph 14.0.1 does not support 32-bit architectures, bugs #1727788, #1727787
ExcludeArch: i686 armv7hl
%if 0%{?suse_version}
@ -255,7 +255,7 @@ BuildRequires: cryptsetup-devel
BuildRequires: libcurl-devel
BuildRequires: libcap-ng-devel
BuildRequires: fmt-devel >= 6.2.1
%if 0%{?fedora}
%if 0%{?fedora} || 0%{?rhel} >= 10
BuildRequires: rocksdb-devel
Requires: rocksdb
%endif
@ -354,7 +354,7 @@ BuildRequires: libpciaccess-devel
BuildRequires: lksctp-tools-devel
BuildRequires: ragel
BuildRequires: systemtap-sdt-devel
%if 0%{?fedora}
%if 0%{?fedora} || 0%{?rhel} >= 10
BuildRequires: libubsan
BuildRequires: libasan
%endif
@ -668,7 +668,7 @@ Group: System/Filesystems
%endif
Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release}
Requires: python%{python3_pkgversion}-numpy
%if 0%{?fedora} || 0%{?suse_version}
%if 0%{?fedora} || 0%{?suse_version} || 0%{?rhel} >= 10
Requires: python%{python3_pkgversion}-scikit-learn
%endif
Requires: python3-scipy
@ -687,6 +687,7 @@ Requires: python%{python3_pkgversion}-pecan
Requires: python%{python3_pkgversion}-pyOpenSSL
Requires: python%{python3_pkgversion}-requests
Requires: python%{python3_pkgversion}-dateutil
Requires: python%{python3_pkgversion}-setuptools
%if 0%{?fedora} || 0%{?rhel} >= 8
Requires: python%{python3_pkgversion}-cherrypy
Requires: python%{python3_pkgversion}-pyyaml
@ -1333,12 +1334,6 @@ export CFLAGS="$RPM_OPT_FLAGS"
export CXXFLAGS="$RPM_OPT_FLAGS"
export LDFLAGS="$RPM_LD_FLAGS"
# Workaround to https://tracker.ceph.com/issues/56610
%if 0%{?fedora} >= 37
export CFLAGS="$RPM_OPT_FLAGS -DFMT_DEPRECATED_OSTREAM"
export CXXFLAGS="$RPM_OPT_FLAGS -DFMT_DEPRECATED_OSTREAM"
%endif
# Workaround to https://tracker.ceph.com/issues/56610
%if 0%{?fedora} >= 37 || 0%{?rhel} >= 10
export CFLAGS="$RPM_OPT_FLAGS -DFMT_DEPRECATED_OSTREAM"
@ -1347,10 +1342,7 @@ export CXXFLAGS="$RPM_OPT_FLAGS -DFMT_DEPRECATED_OSTREAM"
%if 0%{with seastar}
# seastar uses longjmp() to implement coroutine. and this annoys longjmp_chk()
export CXXFLAGS=$(echo $RPM_OPT_FLAGS | sed -e 's/-Wp,-D_FORTIFY_SOURCE=2//g')
# remove from CFLAGS too because it causes the arrow submodule to fail with:
# warning _FORTIFY_SOURCE requires compiling with optimization (-O)
export CFLAGS=$(echo $RPM_OPT_FLAGS | sed -e 's/-Wp,-D_FORTIFY_SOURCE=2//g')
%undefine _fortify_level
%endif
env | sort
@ -1390,11 +1382,11 @@ env | sort
%if 0%{with ocf}
-DWITH_OCF:BOOL=ON \
%endif
%if 0%{?fedora}
%if 0%{?fedora} || 0%{?rhel} >= 10
-DWITH_SYSTEM_ROCKSDB:BOOL=ON \
%endif
-DWITH_SYSTEM_LIBURING:BOOL=ON \
-DWITH_SYSTEM_BOOST:BOOL=ON \
-DWITH_SYSTEM_BOOST:BOOL=OFF \
%if 0%{with cephfs_shell}
-DWITH_CEPHFS_SHELL:BOOL=ON \
%endif
@ -2625,6 +2617,36 @@ exit 0
%config %{_sysconfdir}/prometheus/ceph/ceph_default_alerts.yml
%changelog
* Fri Apr 7 2023 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 2:17.2.6-1
- ceph-17.2.6 GA
* Wed Feb 22 2023 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 2:17.2.5-13
- ceph-17.2.5, rebuild with bundled boost until boost-1.81 compatible
* Mon Feb 20 2023 Jonathan Wakely <jwakely@redhat.com> - 2:17.2.5-12
- Rebuilt for Boost 1.81
* Fri Feb 17 2023 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 2:17.2.5-11
- ceph-17.2.5, rebuild with libarrow-11, this time for real
* Wed Feb 15 2023 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 2:17.2.5-10
- ceph-17.2.5, rebuild with libarrow-11
* Fri Jan 27 2023 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 2:17.2.5-9
- ceph-17.2.5, more ELN (rhel 10)
* Thu Jan 26 2023 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 2:17.2.5-8
- ceph-17.2.5, rocksdb on ELN (rhel 10)
* Tue Jan 24 2023 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 2:17.2.5-7
- ceph-17.2.5, rebuild with gtest-13 rhbz#2163823
* Fri Jan 20 2023 Siddhesh Poyarekar <siddhesh@redhat.com> - 2:17.2.5-6
- Use _fortify_level to disable fortification.
* Thu Jan 19 2023 Ondrej Mosnacek <omosnace@redhat.com>
- Prepare for anon inode SELinux controls enablement
* Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2:17.2.5-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild

View File

@ -1 +1 @@
SHA512 (ceph-17.2.5.tar.gz) = 10cd3d9eb01c91c148a92f1f7d040bbd78af5bb1ab15d071d93f54b37097dc9e1268eed9e788fe32794d137f6af81abd6a2aeaee39cef44d2c45234a15cc6020
SHA512 (ceph-17.2.6.tar.gz) = dca9aea2ce210c15fcc34cb06a5dc5b4488ffa36d684166d47ebd87e48b54b6fee0882e1c67007a780e1c25754e9bc6e760cc10f60ea1183263f8504ef2dbd9b