Compare commits
10 Commits
339f628c14
...
aaedf07964
Author | SHA1 | Date |
---|---|---|
Kaleb S. KEITHLEY | aaedf07964 | |
Kaleb S. KEITHLEY | f33cca0cb6 | |
Kaleb S. KEITHLEY | c613a7913d | |
Jonathan Wakely | 32b1af1542 | |
Kaleb S. KEITHLEY | 0d92b145fb | |
Kaleb S. KEITHLEY | 1fd4067b59 | |
Kaleb S. KEITHLEY | 68c121780b | |
Kaleb S. KEITHLEY | c63ac8cd1c | |
Kaleb S. KEITHLEY | 0cef2ba27d | |
Kaleb S. KEITHLEY | da92657ed9 |
|
@ -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
|
||||
|
|
|
@ -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)
|
|
@ -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
|
62
ceph.spec
62
ceph.spec
|
@ -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
|
||||
|
||||
|
|
2
sources
2
sources
|
@ -1 +1 @@
|
|||
SHA512 (ceph-17.2.5.tar.gz) = 10cd3d9eb01c91c148a92f1f7d040bbd78af5bb1ab15d071d93f54b37097dc9e1268eed9e788fe32794d137f6af81abd6a2aeaee39cef44d2c45234a15cc6020
|
||||
SHA512 (ceph-17.2.6.tar.gz) = dca9aea2ce210c15fcc34cb06a5dc5b4488ffa36d684166d47ebd87e48b54b6fee0882e1c67007a780e1c25754e9bc6e760cc10f60ea1183263f8504ef2dbd9b
|
||||
|
|
Loading…
Reference in New Issue