Compare commits

...

63 Commits

Author SHA1 Message Date
David Abdurachmanov 08840370b4
Add support for riscv64
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
2023-12-04 10:46:50 +02:00
David Abdurachmanov 91966ee5b2
Merge remote-tracking branch 'up/main' into main-riscv64
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
2023-12-04 10:44:22 +02:00
Kaleb S. KEITHLEY ae476e040f ceph-18.2.1, rebuild for f40-build-side-76708, w/ libarrow-14.0.1,
and liborc-1.9.2

Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-11-15 19:41:31 -05:00
Kaleb S. KEITHLEY 30fd6bd235 ceph-18.2.1 GA
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-11-15 10:11:37 -05:00
Kaleb S. KEITHLEY e61e83bf2e Rebuild for gtest 1.14.0 and libarrow 14.0.0
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-11-01 15:52:10 -04:00
Kaleb S. KEITHLEY 1add7973a9 Rebuild for Apache Arrow (libarrow) 14.0.0
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-11-01 14:40:24 -04:00
Kaleb S. KEITHLEY dae4d4a3ac Rebuild for Apache Arrow (libarrow) 14.0.0
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-11-01 13:15:02 -04:00
Kaleb S. KEITHLEY f7b9e58050 Rebuild for Apache Arrow (libarrow) 14.0.0
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-11-01 10:14:23 -04:00
Kaleb S. KEITHLEY 3430d480f2 Rebuild for gtest 1.14.0
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-11-01 09:08:39 -04:00
Terje Rosten df3c9e92fb Rebuild for gtest 1.14.0 2023-10-31 20:02:10 +01:00
Kaleb S. KEITHLEY 649f961fa0 ceph-18.2.0, rebuild in side tag (f40-build-side-74974)
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-10-05 11:36:47 -04:00
Kaleb S. KEITHLEY ed9b5e1f74 ceph-18.2.0 GA
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-08-04 07:49:13 -04:00
Kaleb S. KEITHLEY 1bf01fccf7 ceph-18.1.3 RC4, rebuild with libarrow-13.0.0
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-08-01 18:10:21 -04:00
Kaleb S. KEITHLEY 93a4fe7597 ceph-18.1.3 RC4
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-07-26 14:00:08 -04:00
Kaleb S. KEITHLEY 1ca647a4b9 ceph-18.1.3 RC4
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-07-26 11:14:27 -04:00
Kaleb S. KEITHLEY 88108d8c98 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
revert python3-Cython -> python3dist(cython) < 3~~

Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-07-24 14:37:02 -04:00
Kaleb S. KEITHLEY 6f79abf9c3 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
with python3-Cython -> python3dist(cython) < 3~~

Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-07-20 18:05:16 -04:00
Fedora Release Engineering 0d1cc731ad Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-19 15:29:34 +00:00
František Zatloukal 5e76bc0ad4 Rebuilt for ICU 73.2 2023-07-11 23:26:31 +02:00
Yaakov Selkowitz 6f9f7e2e4a Fix build with Python 3.12
pathfix.py is no longer installed, but this macro is compatible with all
supported versions.
2023-07-06 13:28:46 -04:00
Yaakov Selkowitz 085cd612d4 Fix rocksdb conditional
Use of the system rocksdb is disabled for Fedora and RHEL 10+, not
enabled, because rocksdb there is too new.
2023-07-06 13:21:33 -04:00
Kaleb S. KEITHLEY aa691eb6d2 Rebuilt for Python 3.12
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-07-04 23:44:05 -04:00
Kaleb S. KEITHLEY 468a2c36ab ceph-18.1.2 RC3
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-07-04 23:39:25 -04:00
Kaleb S. KEITHLEY 1980396784 Rebuilt for Python 3.12
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-06-18 14:12:00 -04:00
Kaleb S. KEITHLEY 91dd896847 ceph-18.1.1 RC2
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-06-18 13:49:57 -04:00
Kaleb S. KEITHLEY ca81cd2515 Rebuilt for Python 3.12
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-06-18 13:09:10 -04:00
Kaleb S. KEITHLEY 617d537253 ceph-18.1.1 RC2
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-06-18 13:07:33 -04:00
Kaleb S. KEITHLEY 35042fccaa Rebuilt for Python 3.12
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-06-15 18:03:55 -04:00
Kaleb S. KEITHLEY c89ec5de2b remove requires for nonexistant libjaeger, rhbz#2215320
sync w/ upstream ceph.spec(.in), sanity check

Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-06-15 17:12:00 -04:00
Python Maint 9c5f485aa9 Rebuilt for Python 3.12 2023-06-15 15:34:18 +02:00
Kaleb S. KEITHLEY 4f4defa7e2 ceph-18.1.0 RC1
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-06-13 17:29:30 -04:00
Yaakov Selkowitz 1ab48d0e0d Do not use mold in RHEL/ELN builds 2023-06-06 20:33:50 -04:00
Kaleb S. KEITHLEY 9a0799bc61 ceph-17.2.6, use ldconfig and ldconfig_scriptlet macros
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-05-19 10:08:37 -04:00
Kaleb S. KEITHLEY c817d5a04e ceph-17.2.6, log create of global_legacy_options.h
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-05-10 10:56:37 -04:00
Kaleb S. KEITHLEY 0e8a2ef902 ceph-17.2.6, rebuild with libarrow-12.0.0
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-05-01 10:20:21 -04:00
Kaleb S. KEITHLEY d3ad3a08bd ceph-17.2.6, rebuild boost asm with IBT, SHSTK (librgw.so)
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-04-30 19:18:51 -04:00
Kaleb S. KEITHLEY dcf07e8b7f ceph-17.2.6, rebuild boost with -fcf-protection
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-04-28 09:09:35 -04:00
Kaleb S. KEITHLEY dbd2b71d9d ceph-17.2.6, rebuild boost with -fcf-protection
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-04-28 07:51:05 -04:00
Kaleb S. KEITHLEY 2cc4dd5e37 ceph-17.2.6, rebuild boost with -fcf-protection
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-04-27 19:28:57 -04:00
Kaleb S. KEITHLEY e5f1594856 ceph-17.2.6, rebuild with bundled rocksdb until ready for rocksdb-8.x
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-04-22 10:08:11 -04:00
Kaleb S. KEITHLEY 3d4788fc3e patch0027 2023-04-20 13:56:14 -04:00
Kaleb S. KEITHLEY 2fec333c00 patch0027 again 2023-04-20 11:39:30 -04:00
Kaleb S. KEITHLEY 460ba1ceb5 patch0027 2023-04-20 10:57:15 -04:00
Kaleb S. KEITHLEY 58319e8d44 patch0027 2023-04-20 10:56:03 -04:00
Kaleb S. KEITHLEY 4844e582ac ceph-17.2.6, rebuild with rocksdb-8.0.0
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-04-20 10:05:42 -04:00
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
Fedora Release Engineering 339f628c14 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-18 23:41:54 +00:00
Kaleb S. KEITHLEY fe792d61ad ceph-17.2.5, rebuild with gcc-13
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-01-17 16:01:56 -05:00
Kaleb S. KEITHLEY 945dc70d29 ceph-17.2.5, rebuild with gcc-13
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-01-17 16:00:06 -05:00
Pete Walter e6b3456a69 Rebuild for ICU 72 2022-12-31 04:01:46 +00:00
Kaleb S. KEITHLEY f6485b3ab1 ceph-17.2.5, rebuild with libarrow-10
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2022-12-01 21:23:28 -05:00
Kaleb S. KEITHLEY 2d1c189958 SPDX migration
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2022-11-11 13:15:00 -05:00
Kaleb S. KEITHLEY af3d1fd70c ceph-17.2.5 GA
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2022-10-18 13:15:59 -04:00
Kaleb S. KEITHLEY f52b5ed647 ceph-17.2.4 GA
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2022-09-30 15:56:17 -04:00
18 changed files with 935 additions and 3120 deletions

View File

@ -1,13 +1,3 @@
--- ceph-16.2.7/src/include/buffer.h.orig 2022-01-17 12:17:19.193356237 -0500
+++ ceph-16.2.7/src/include/buffer.h 2022-01-17 12:17:58.599639592 -0500
@@ -38,6 +38,7 @@
# include <sys/mman.h>
#endif
+#include <memory>
#include <iosfwd>
#include <iomanip>
#include <list>
--- ceph-16.2.7/src/common/LogEntry.cc.orig 2022-01-17 13:52:10.799134159 -0500
+++ ceph-16.2.7/src/common/LogEntry.cc 2022-01-17 13:52:47.244469274 -0500
@@ -183,7 +183,7 @@
@ -19,30 +9,10 @@
}
}
--- ceph-16.2.7/src/common/dout.h.orig 2022-01-18 08:58:11.805226954 -0500
+++ ceph-16.2.7/src/common/dout.h 2022-01-19 08:06:23.987388663 -0500
@@ -99,11 +99,15 @@
template<typename T>
struct dynamic_marker_t {
T value;
- operator T() const { return value; }
+ // constexpr ctor isn't needed as it's an aggregate type
+ constexpr operator T() const { return value; }
};
template<typename T>
-dynamic_marker_t<T> need_dynamic(T&& t) {
+constexpr dynamic_marker_t<T> need_dynamic(T&& t) {
+ // deprecated in C++17 but that's fine for testing
+ static_assert(std::is_literal_type_v<T>);
+ static_assert(std::is_literal_type_v<dynamic_marker_t<T>>);
return dynamic_marker_t<T>{ std::forward<T>(t) };
}
--- ceph-16.2.7/src/test/librados/tier_cxx.cc.orig 2022-01-19 09:30:47.209459506 -0500
+++ ceph-16.2.7/src/test/librados/tier_cxx.cc 2022-01-19 10:02:47.783240298 -0500
@@ -114,7 +114,7 @@
#include "rgw/rgw_common.h"
@@ -120,7 +120,7 @@
}
void check_fp_oid_refcount(librados::IoCtx& ioctx, std::string foid, uint64_t count,
- std::string fp_algo = NULL)
@ -50,7 +20,7 @@
{
bufferlist t;
int size = foid.length();
@@ -142,7 +142,7 @@
@@ -148,7 +148,7 @@
ASSERT_LE(count, refs.count());
}
@ -59,17 +29,6 @@
{
if (fp_algo == "sha1") {
unsigned char fingerprint[CEPH_CRYPTO_SHA1_DIGESTSIZE + 1];
--- ceph-16.2.7/src/test/test_trans.cc.orig 2022-01-19 13:24:33.460008897 -0500
+++ ceph-16.2.7/src/test/test_trans.cc 2022-01-19 13:24:58.211554005 -0500
@@ -51,7 +51,7 @@
cout << "#dev " << filename << std::endl;
cout << "#mb " << mb << std::endl;
- ObjectStore *fs = new FileStore(cct.get(), filename, NULL);
+ ObjectStore *fs = new FileStore(cct.get(), filename, "");
if (fs->mount() < 0) {
cout << "mount failed" << std::endl;
return -1;
--- ceph-17.0.0-10335-gfd206722/src/s3select/include/s3select_functions.h.orig 2022-02-11 17:21:40.268627997 -0500
+++ ceph-17.0.0-10335-gfd206722/src/s3select/include/s3select_functions.h 2022-02-11 17:21:57.155325437 -0500
@@ -466,7 +466,7 @@

View File

@ -1,24 +1,15 @@
--- ceph-17.1.0/src/rgw/store/dbstore/sqlite/CMakeLists.txt.orig 2022-03-01 08:19:04.974902872 -0500
+++ ceph-17.1.0/src/rgw/store/dbstore/sqlite/CMakeLists.txt 2022-03-11 07:55:16.236261471 -0500
@@ -12,5 +12,5 @@
set(SQLITE_COMPILE_FLAGS "-DSQLITE_THREADSAFE=1")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SQLITE_COMPILE_FLAGS}")
-add_library(sqlite_db ${sqlite_db_srcs})
+add_library(sqlite_db STATIC ${sqlite_db_srcs})
target_link_libraries(sqlite_db sqlite3 dbstore_lib rgw_common)
--- ceph-17.1.0/src/rgw/store/dbstore/CMakeLists.txt.orig 2022-02-28 14:11:49.987077811 -0500
+++ ceph-17.1.0/src/rgw/store/dbstore/CMakeLists.txt 2022-03-11 08:40:13.409682698 -0500
@@ -16,7 +16,7 @@
--- ceph-18.0.0-3078-gc4847bf8/src/rgw/driver/dbstore/CMakeLists.txt.orig 2023-05-10 08:23:50.000000000 -0400
+++ ceph-18.0.0-3078-gc4847bf8/src/rgw/driver/dbstore/CMakeLists.txt 2023-05-11 08:21:13.794152904 -0400
@@ -24,7 +24,7 @@
dbstore_mgr.cc
)
-add_library(dbstore_lib ${dbstore_srcs})
+add_library(dbstore_lib STATIC ${dbstore_srcs})
target_include_directories(dbstore_lib PUBLIC "${CMAKE_SOURCE_DIR}/src/fmt/include")
target_include_directories(dbstore_lib PUBLIC "${CMAKE_SOURCE_DIR}/src/rgw")
set(link_targets spawn)
@@ -38,6 +38,7 @@
target_include_directories(dbstore_lib
PUBLIC "${CMAKE_SOURCE_DIR}/src/rgw"
PUBLIC "${CMAKE_SOURCE_DIR}/src/rgw/store/rados"
@@ -49,6 +49,7 @@
# add pthread library
set (CMAKE_LINK_LIBRARIES ${CMAKE_LINK_LIBRARIES} pthread)
@ -26,12 +17,3 @@
find_package(gtest QUIET)
if(WITH_TESTS)
@@ -47,7 +48,7 @@
endif()
include_directories(${CMAKE_INCLUDE_DIR})
-add_library(dbstore ${dbstore_mgr_srcs})
+add_library(dbstore STATIC ${dbstore_mgr_srcs})
target_link_libraries(dbstore ${CMAKE_LINK_LIBRARIES})
# testing purpose

View File

@ -1,43 +0,0 @@
--- ceph-17.2.0-359-gb2fe9ec8/cmake/modules/CheckCxxAtomic.cmake.orig 2022-06-03 08:45:32.341075140 -0400
+++ ceph-17.2.0-359-gb2fe9ec8/cmake/modules/CheckCxxAtomic.cmake 2022-06-03 08:46:47.195775813 -0400
@@ -10,8 +10,9 @@
check_cxx_source_compiles("
#include <atomic>
#include <cstdint>
+#include <cstddef>
-#if defined(__s390x__) || defined(__mips__)
+#if defined(__SIZEOF_INT128__)
// Boost needs 16-byte atomics for tagged pointers.
// These are implemented via inline instructions on the platform
// if 16-byte alignment can be proven, and are delegated to libatomic
@@ -21,13 +22,27 @@
// We specifically test access via an otherwise unknown pointer here
// to ensure we get the most complex case. If this access can be
// done without libatomic, then all accesses can be done.
-bool atomic16(std::atomic<unsigned __int128> *ptr)
+struct tagged_ptr {
+ int* ptr;
+ std::size_t tag;
+};
+
+void atomic16(std::atomic<tagged_ptr> *ptr) __attribute__ ((used));
+void atomic16(std::atomic<tagged_ptr> *ptr)
{
- return *ptr != 0;
+ tagged_ptr p{nullptr, 1};
+ ptr->store(p);
+ tagged_ptr f = ptr->load();
+ tagged_ptr new_tag{nullptr, 0};
+ ptr->compare_exchange_strong(f, new_tag);
}
#endif
int main() {
+#if defined(__SIZEOF_INT128__)
+ std::atomic<tagged_ptr> ptr;
+ atomic16(&ptr);
+#endif
std::atomic<uint8_t> w1;
std::atomic<uint16_t> w2;
std::atomic<uint32_t> w4;

File diff suppressed because it is too large Load Diff

View File

@ -1,28 +0,0 @@
From fff72cd14c58d06774cbd0274e6144b42448af03 Mon Sep 17 00:00:00 2001
From: "Adam C. Emerson" <aemerson@redhat.com>
Date: Mon, 7 Mar 2022 18:54:30 -0500
Subject: [PATCH] mon: Replace deprecated use of format_to
The non-deprecated version takes an explicit OutputIterator.
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
---
src/mon/LogMonitor.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/mon/LogMonitor.cc b/src/mon/LogMonitor.cc
index 9103ddf7c5b..c196e8429fb 100644
--- a/src/mon/LogMonitor.cc
+++ b/src/mon/LogMonitor.cc
@@ -411,7 +411,7 @@ void LogMonitor::log_external(const LogEntry& le)
}
if (fd >= 0) {
- fmt::format_to(file_log_buffer, "{}\n", le);
+ fmt::format_to(std::back_inserter(file_log_buffer), "{}\n", le);
int err = safe_write(fd, file_log_buffer.data(), file_log_buffer.size());
file_log_buffer.clear();
if (err < 0) {
--
2.36.1

View File

@ -1,218 +0,0 @@
--- ceph-17.2.3/src/s3select/include/s3select_parquet_intrf.h.orig 2022-01-11 15:47:52.000000000 -0500
+++ ceph-17.2.3/src/s3select/include/s3select_parquet_intrf.h 2022-08-22 10:26:06.738082924 -0400
@@ -26,6 +26,14 @@
#include "internal_file_decryptor.h"
#include "encryption_internal.h"
+#if ARROW_VERSION_MAJOR < 9
+#define _ARROW_FD fd_
+#define _ARROW_FD_TYPE int
+#else
+#define _ARROW_FD fd_.fd()
+#define _ARROW_FD_TYPE arrow::internal::FileDescriptor
+#endif
+
/******************************************/
/******************************************/
class optional_yield;
@@ -164,7 +172,7 @@
std::mutex lock_;
// File descriptor
- int fd_;
+ _ARROW_FD_TYPE fd_;
FileMode::type mode_;
@@ -202,7 +210,7 @@
mode_ = write_only ? FileMode::WRITE : FileMode::READWRITE;
if (!truncate) {
- ARROW_ASSIGN_OR_RAISE(size_, ::arrow::internal::FileGetSize(fd_));
+ ARROW_ASSIGN_OR_RAISE(size_, ::arrow::internal::FileGetSize(_ARROW_FD));
} else {
size_ = 0;
}
@@ -222,7 +230,11 @@
RETURN_NOT_OK(SetFileName(fd));
is_open_ = true;
mode_ = FileMode::WRITE;
+ #if ARROW_VERSION_MAJOR < 9
fd_ = fd;
+ #else
+ fd_ = arrow::internal::FileDescriptor{fd};
+ #endif
return Status::OK();
}
@@ -230,7 +242,7 @@
RETURN_NOT_OK(SetFileName(path));
ARROW_ASSIGN_OR_RAISE(fd_, ::arrow::internal::FileOpenReadable(file_name_));
- ARROW_ASSIGN_OR_RAISE(size_, ::arrow::internal::FileGetSize(fd_));
+ ARROW_ASSIGN_OR_RAISE(size_, ::arrow::internal::FileGetSize(_ARROW_FD));
is_open_ = true;
mode_ = FileMode::READ;
@@ -242,7 +254,11 @@
RETURN_NOT_OK(SetFileName(fd));
is_open_ = true;
mode_ = FileMode::READ;
+ #if ARROW_VERSION_MAJOR < 9
fd_ = fd;
+ #else
+ fd_ = arrow::internal::FileDescriptor{fd};
+ #endif
return Status::OK();
}
@@ -258,9 +274,13 @@
// Even if closing fails, the fd will likely be closed (perhaps it's
// already closed).
is_open_ = false;
+ #if ARROW_VERSION_MAJOR < 9
int fd = fd_;
fd_ = -1;
RETURN_NOT_OK(::arrow::internal::FileClose(fd));
+ #else
+ RETURN_NOT_OK(fd_.Close());
+ #endif
}
return Status::OK();
}
@@ -268,7 +288,7 @@
Result<int64_t> Read(int64_t nbytes, void* out) override {
RETURN_NOT_OK(CheckClosed());
RETURN_NOT_OK(CheckPositioned());
- return ::arrow::internal::FileRead(fd_, reinterpret_cast<uint8_t*>(out), nbytes);
+ return ::arrow::internal::FileRead(_ARROW_FD, reinterpret_cast<uint8_t*>(out), nbytes);
}
Result<int64_t> ReadAt(int64_t position, int64_t nbytes, void* out) override {
@@ -277,7 +297,7 @@
// ReadAt() leaves the file position undefined, so require that we seek
// before calling Read() or Write().
need_seeking_.store(true);
- return ::arrow::internal::FileReadAt(fd_, reinterpret_cast<uint8_t*>(out), position,
+ return ::arrow::internal::FileReadAt(_ARROW_FD, reinterpret_cast<uint8_t*>(out), position,
nbytes);
}
@@ -286,7 +306,7 @@
if (pos < 0) {
return Status::Invalid("Invalid position");
}
- Status st = ::arrow::internal::FileSeek(fd_, pos);
+ Status st = ::arrow::internal::FileSeek(_ARROW_FD, pos);
if (st.ok()) {
need_seeking_.store(false);
}
@@ -295,7 +315,7 @@
Result<int64_t> Tell() const override {
RETURN_NOT_OK(CheckClosed());
- return ::arrow::internal::FileTell(fd_);
+ return ::arrow::internal::FileTell(_ARROW_FD);
}
Status Write(const void* data, int64_t length) override {
@@ -306,11 +326,11 @@
if (length < 0) {
return Status::IOError("Length must be non-negative");
}
- return ::arrow::internal::FileWrite(fd_, reinterpret_cast<const uint8_t*>(data),
+ return ::arrow::internal::FileWrite(_ARROW_FD, reinterpret_cast<const uint8_t*>(data),
length);
}
- int fd() const override { return fd_; }
+ int fd() const override { return _ARROW_FD; }
bool is_open() const override { return is_open_; }
@@ -345,7 +365,7 @@
std::mutex lock_;
// File descriptor
- int fd_;
+ _ARROW_FD_TYPE fd_;
FileMode::type mode_;
@@ -411,7 +431,11 @@
// already closed).
is_open_ = false;
//int fd = fd_;
+ #if ARROW_VERSION_MAJOR < 9
fd_ = -1;
+ #else
+ fd_.Close();
+ #endif
//RETURN_NOT_OK(::arrow::internal::FileClose(fd));
}
return Status::OK();
@@ -421,7 +445,7 @@
NOT_IMPLEMENT;
RETURN_NOT_OK(CheckClosed());
RETURN_NOT_OK(CheckPositioned());
- return ::arrow::internal::FileRead(fd_, reinterpret_cast<uint8_t*>(out), nbytes);
+ return ::arrow::internal::FileRead(_ARROW_FD, reinterpret_cast<uint8_t*>(out), nbytes);
}
Result<int64_t> ReadAt(int64_t position, int64_t nbytes, void* out) {
@@ -443,7 +467,7 @@
return Status::OK();
}
- int fd() const { return fd_; }
+ int fd() const { return _ARROW_FD; }
bool is_open() const { return is_open_; }
@@ -467,7 +491,7 @@
std::mutex lock_;
// File descriptor
- int fd_;
+ _ARROW_FD_TYPE fd_;
FileMode::type mode_;
@@ -609,7 +633,7 @@
for (const auto& range : ranges) {
RETURN_NOT_OK(internal::ValidateRange(range.offset, range.length));
#if defined(POSIX_FADV_WILLNEED)
- if (posix_fadvise(fd_, range.offset, range.length, POSIX_FADV_WILLNEED)) {
+ if (posix_fadvise(_ARROW_FD, range.offset, range.length, POSIX_FADV_WILLNEED)) {
return IOErrorFromErrno(errno, "posix_fadvise failed");
}
#elif defined(F_RDADVISE) // macOS, BSD?
@@ -617,7 +641,7 @@
off_t ra_offset;
int ra_count;
} radvisory{range.offset, static_cast<int>(range.length)};
- if (radvisory.ra_count > 0 && fcntl(fd_, F_RDADVISE, &radvisory) == -1) {
+ if (radvisory.ra_count > 0 && fcntl(_ARROW_FD, F_RDADVISE, &radvisory) == -1) {
return IOErrorFromErrno(errno, "fcntl(fd, F_RDADVISE, ...) failed");
}
#endif
@@ -970,6 +994,9 @@
CryptoContext ctx(col->has_dictionary_page(), row_group_ordinal_,
static_cast<int16_t>(i), meta_decryptor, data_decryptor);
return PageReader::Open(stream, col->num_values(), col->compression(),
+ #if ARROW_VERSION_MAJOR > 8
+ false,
+ #endif
properties_.memory_pool(), &ctx);
}
@@ -985,6 +1012,9 @@
CryptoContext ctx(col->has_dictionary_page(), row_group_ordinal_,
static_cast<int16_t>(i), meta_decryptor, data_decryptor);
return PageReader::Open(stream, col->num_values(), col->compression(),
+ #if ARROW_VERSION_MAJOR > 8
+ false,
+ #endif
properties_.memory_pool(), &ctx);
}

42
0024-gcc-13.patch Normal file
View File

@ -0,0 +1,42 @@
--- ceph-18.1.2/src/common/subsys_types.h.orig 2023-06-27 15:59:59.000000000 -0400
+++ ceph-18.1.2/src/common/subsys_types.h 2023-07-04 19:36:55.941238973 -0400
@@ -54,7 +54,7 @@
#undef DEFAULT_SUBSYS
}
-constexpr static std::uint8_t
+constexpr static uint8_t
ceph_subsys_get_max_default_level(const std::size_t subidx) {
const auto item = ceph_subsys_get_as_array()[subidx];
return std::max(item.log_level, item.gather_level);
--- ceph-18.1.2/src/msg/async/crypto_onwire.h.orig 2023-06-27 15:59:59.000000000 -0400
+++ ceph-18.1.2/src/msg/async/crypto_onwire.h 2023-07-04 19:36:55.957238704 -0400
@@ -95,7 +95,7 @@
// Transmitter can append extra bytes of ciphertext at the -final step.
// This method return how much was added, and thus let client translate
// plaintext size into ciphertext size to grab from wire.
- virtual std::uint32_t get_extra_size_at_final() = 0;
+ virtual uint32_t get_extra_size_at_final() = 0;
// Instance of RxHandler must be reset before doing any decrypt-update
// step. This applies also to situation when decrypt-final was already
--- ceph-18.1.2/src/rocksdb/table/block_based/data_block_hash_index.h.orig 2023-05-24 15:55:23.000000000 -0400
+++ ceph-18.1.2/src/rocksdb/table/block_based/data_block_hash_index.h 2023-07-04 19:36:55.971238469 -0400
@@ -8,6 +8,7 @@
#include <cstdint>
#include <string>
#include <vector>
+#include <cstdint>
#include "rocksdb/slice.h"
--- ceph-18.1.2/src/rocksdb/util/string_util.h.orig 2023-05-24 15:55:23.000000000 -0400
+++ ceph-18.1.2/src/rocksdb/util/string_util.h 2023-07-04 19:36:55.991238133 -0400
@@ -11,6 +11,7 @@
#include <string>
#include <unordered_map>
#include <vector>
+#include <cstdint>
#include "rocksdb/rocksdb_namespace.h"

View File

@ -0,0 +1,32 @@
--- ceph-18.0.0-1810-g728e8ac0/src/osd/scrubber/scrub_backend.h.orig 2023-01-18 16:35:03.398700052 -0500
+++ ceph-18.0.0-1810-g728e8ac0/src/osd/scrubber/scrub_backend.h 2023-01-18 16:37:55.882677965 -0500
@@ -183,20 +183,20 @@
// note: 'if' chain, as hard to consistently (on all compilers) avoid some
// warnings for a switch plus multiple return paths
if (as_auth.possible_auth == shard_as_auth_t::usable_t::not_usable) {
- return format_to(ctx.out(),
- "{{shard-not-usable:{}}}",
- as_auth.error_text);
+ return fmt::format_to(ctx.out(),
+ "{{shard-not-usable:{}}}",
+ as_auth.error_text.c_str());
}
if (as_auth.possible_auth == shard_as_auth_t::usable_t::not_found) {
- return format_to(ctx.out(), "{{shard-not-found}}");
+ return fmt::format_to(ctx.out(), "{{shard-not-found}}");
}
- return format_to(ctx.out(),
- "{{shard-usable: soid:{} {{txt:{}}} }}",
- as_auth.oi.soid,
- as_auth.error_text);
+ return fmt::format_to(ctx.out(),
+ "{{shard-usable: soid:{} {{txt:{}}} }}",
+ as_auth.oi.soid,
+ as_auth.error_text.c_str());
} else {
- return format_to(
+ return fmt::format_to(
ctx.out(),
"usable:{} soid:{} {{txt:{}}}",
(as_auth.possible_auth == shard_as_auth_t::usable_t::usable) ? "yes"

View File

@ -0,0 +1,199 @@
--- ceph-18.0.0-2148-g9754cafc/src/osd/scrubber/scrub_backend.cc.orig 2023-02-08 16:01:53.800709761 -0500
+++ ceph-18.0.0-2148-g9754cafc/src/osd/scrubber/scrub_backend.cc 2023-02-11 05:06:14.954254050 -0500
@@ -507,11 +507,11 @@
}
}
- dout(10) << fmt::format("{}: selecting osd {} for obj {} with oi {}",
+ dout(10) << fmt::format("{}: selecting osd {} for obj {} with oi {:p}",
__func__,
ret_auth.auth_shard,
ho,
- ret_auth.auth_oi)
+ (void*)&ret_auth.auth_oi)
<< dendl;
return ret_auth;
@@ -1171,23 +1171,23 @@
if (auth.digest_present && candidate.digest_present &&
auth.digest != candidate.digest) {
- format_to(std::back_inserter(out),
- "data_digest {:#x} != data_digest {:#x} from shard {}",
- candidate.digest,
- auth.digest,
- auth_shard);
+ fmt::format_to(std::back_inserter(out),
+ "data_digest {:#x} != data_digest {:#x} from shard {}",
+ candidate.digest,
+ auth.digest,
+ auth_shard);
error = true;
obj_result.set_data_digest_mismatch();
}
if (auth.omap_digest_present && candidate.omap_digest_present &&
auth.omap_digest != candidate.omap_digest) {
- format_to(std::back_inserter(out),
- "{}omap_digest {:#x} != omap_digest {:#x} from shard {}",
- sep(error),
- candidate.omap_digest,
- auth.omap_digest,
- auth_shard);
+ fmt::format_to(std::back_inserter(out),
+ "{}omap_digest {:#x} != omap_digest {:#x} from shard {}",
+ sep(error),
+ candidate.omap_digest,
+ auth.omap_digest,
+ auth_shard);
obj_result.set_omap_digest_mismatch();
}
@@ -1195,24 +1195,24 @@
if (m_is_replicated) {
if (auth_oi.is_data_digest() && candidate.digest_present &&
auth_oi.data_digest != candidate.digest) {
- format_to(std::back_inserter(out),
- "{}data_digest {:#x} != data_digest {:#x} from auth oi {}",
- sep(error),
- candidate.digest,
- auth_oi.data_digest,
- auth_oi);
+ fmt::format_to(std::back_inserter(out),
+ "{}data_digest {:#x} != data_digest {:#x} from auth oi {:p}",
+ sep(error),
+ candidate.digest,
+ auth_oi.data_digest,
+ (void*)&auth_oi);
shard_result.set_data_digest_mismatch_info();
}
// for replicated:
if (auth_oi.is_omap_digest() && candidate.omap_digest_present &&
auth_oi.omap_digest != candidate.omap_digest) {
- format_to(std::back_inserter(out),
- "{}omap_digest {:#x} != omap_digest {:#x} from auth oi {}",
- sep(error),
- candidate.omap_digest,
- auth_oi.omap_digest,
- auth_oi);
+ fmt::format_to(std::back_inserter(out),
+ "{}omap_digest {:#x} != omap_digest {:#x} from auth oi {:p}",
+ sep(error),
+ candidate.omap_digest,
+ auth_oi.omap_digest,
+ (void*)&auth_oi);
shard_result.set_omap_digest_mismatch_info();
}
}
@@ -1241,7 +1241,7 @@
auth_bl.push_back(auth_attr->second);
if (!can_bl.contents_equal(auth_bl)) {
- format_to(std::back_inserter(out), "{}object info inconsistent ", sep(error));
+ fmt::format_to(std::back_inserter(out), "{}object info inconsistent ", sep(error));
obj_result.set_object_info_inconsistency();
}
}
@@ -1261,7 +1261,7 @@
auth_bl.push_back(auth_attr->second);
if (!can_bl.contents_equal(auth_bl)) {
- format_to(std::back_inserter(out), "{}snapset inconsistent ", sep(error));
+ fmt::format_to(std::back_inserter(out), "{}snapset inconsistent ", sep(error));
obj_result.set_snapset_inconsistency();
}
}
@@ -1284,7 +1284,7 @@
auth_bl.push_back(auth_hi->second);
if (!can_bl.contents_equal(auth_bl)) {
- format_to(std::back_inserter(out), "{}hinfo inconsistent ", sep(error));
+ fmt::format_to(std::back_inserter(out), "{}hinfo inconsistent ", sep(error));
obj_result.set_hinfo_inconsistency();
}
}
@@ -1296,22 +1296,22 @@
uint64_t oi_size = logical_to_ondisk_size(auth_oi.size);
if (oi_size != candidate.size) {
- format_to(std::back_inserter(out),
- "{}size {} != size {} from auth oi {}",
- sep(error),
- candidate.size,
- oi_size,
- auth_oi);
+ fmt::format_to(std::back_inserter(out),
+ "{}size {} != size {} from auth oi {:p}",
+ sep(error),
+ candidate.size,
+ oi_size,
+ (void*)&auth_oi);
shard_result.set_size_mismatch_info();
}
if (auth.size != candidate.size) {
- format_to(std::back_inserter(out),
- "{}size {} != size {} from shard {}",
- sep(error),
- candidate.size,
- auth.size,
- auth_shard);
+ fmt::format_to(std::back_inserter(out),
+ "{}size {} != size {} from shard {}",
+ sep(error),
+ candidate.size,
+ auth.size,
+ auth_shard);
obj_result.set_size_mismatch();
}
@@ -1320,11 +1320,11 @@
if (candidate.size > m_conf->osd_max_object_size &&
!obj_result.has_size_too_large()) {
- format_to(std::back_inserter(out),
- "{}size {} > {} is too large",
- sep(error),
- candidate.size,
- m_conf->osd_max_object_size);
+ fmt::format_to(std::back_inserter(out),
+ "{}size {} > {} is too large",
+ sep(error),
+ candidate.size,
+ m_conf->osd_max_object_size);
obj_result.set_size_too_large();
}
@@ -1340,10 +1340,10 @@
auto cand = candidate.attrs.find(k);
if (cand == candidate.attrs.end()) {
- format_to(std::back_inserter(out), "{}attr name mismatch '{}'", sep(error), k);
+ fmt::format_to(std::back_inserter(out), "{}attr name mismatch '{}'", sep(error), k);
obj_result.set_attr_name_mismatch();
} else if (cand->second.cmp(v)) {
- format_to(std::back_inserter(out), "{}attr value mismatch '{}'", sep(error), k);
+ fmt::format_to(std::back_inserter(out), "{}attr value mismatch '{}'", sep(error), k);
obj_result.set_attr_value_mismatch();
}
}
@@ -1356,7 +1356,7 @@
auto in_auth = auth.attrs.find(k);
if (in_auth == auth.attrs.end()) {
- format_to(std::back_inserter(out), "{}attr name mismatch '{}'", sep(error), k);
+ fmt::format_to(std::back_inserter(out), "{}attr name mismatch '{}'", sep(error), k);
obj_result.set_attr_name_mismatch();
}
}
@@ -1823,8 +1823,7 @@
SnapMapReaderI& snaps_getter)
{
using result_t = Scrub::SnapMapReaderI::result_t;
- dout(15) << fmt::format("{}: obj:{} snapset:{}", __func__, hoid, snapset)
- << dendl;
+ // dout(15) << fmt::format("{}: obj:{} snapset:{}", __func__, hoid, snapset) << dendl;
auto p = snapset.clone_snaps.find(hoid.snap);
if (p == snapset.clone_snaps.end()) {

View File

@ -0,0 +1,151 @@
--- ceph-17.2.6/src/kv/rocksdb_cache/ShardedCache.h.orig 2023-04-05 11:09:51.000000000 -0400
+++ ceph-17.2.6/src/kv/rocksdb_cache/ShardedCache.h 2023-04-21 16:22:26.665067333 -0400
@@ -15,7 +15,7 @@
#include <mutex>
#include "rocksdb/version.h"
-#include "rocksdb/cache.h"
+#include "rocksdb/advanced_cache.h"
#include "include/ceph_hash.h"
#include "common/PriorityCache.h"
//#include "hash.h"
@@ -26,7 +26,8 @@
namespace rocksdb_cache {
-using DeleterFn = void (*)(const rocksdb::Slice& key, void* value);
+// using DeleterFn = void (*)(const rocksdb::Slice& key, void* value);
+using DeleterFn = void (*)(rocksdb::Cache::ObjectPtr obj, rocksdb::MemoryAllocator* allocator);
// Single cache shard interface.
class CacheShard {
@@ -34,11 +35,19 @@
CacheShard() = default;
virtual ~CacheShard() = default;
- virtual rocksdb::Status Insert(const rocksdb::Slice& key, uint32_t hash, void* value,
- size_t charge,
- DeleterFn deleter,
- rocksdb::Cache::Handle** handle, rocksdb::Cache::Priority priority) = 0;
- virtual rocksdb::Cache::Handle* Lookup(const rocksdb::Slice& key, uint32_t hash) = 0;
+ virtual rocksdb::Status Insert(const rocksdb::Slice& key,
+ rockdb::ObjectPtr obj,
+ const rocksdb::CacheItemHelper* helper,
+ size_t charge,
+ rocksdb:Handle** handle = nullptr,
+ Rocksdb::Priority priority = Rocksdb::Priority::LOW)
+ virtual rocksdb::Cache::Handle* Lookup(const rocksdb::Slice& key,
+ const rocksdb::CacheItemHelper* helper = nullptr,
+ rocksdb::CreateContext* create_context = nullptr,
+ rocksdb::Priority priority = rocksdb::Priority::LOW,
+ bool wait = true,
+ rocksdb::Statistics* stats = nullptr);
+
virtual bool Ref(rocksdb::Cache::Handle* handle) = 0;
virtual bool Release(rocksdb::Cache::Handle* handle, bool force_erase = false) = 0;
virtual void Erase(const rocksdb::Slice& key, uint32_t hash) = 0;
@@ -68,8 +77,8 @@
virtual const char* Name() const override = 0;
virtual rocksdb::Status Insert(const rocksdb::Slice& key, void* value, size_t charge,
DeleterFn,
- rocksdb::Cache::Handle** handle, Priority priority) override;
- virtual rocksdb::Cache::Handle* Lookup(const rocksdb::Slice& key, rocksdb::Statistics* stats) override;
+ rocksdb::Cache::Handle** handle, Priority priority);
+ virtual rocksdb::Cache::Handle* Lookup(const rocksdb::Slice& key, rocksdb::Statistics* stats);
virtual bool Ref(rocksdb::Cache::Handle* handle) override;
virtual bool Release(rocksdb::Cache::Handle* handle, bool force_erase = false) override;
virtual void* Value(Handle* handle) override = 0;
@@ -84,14 +93,17 @@
virtual size_t GetPinnedUsage() const override;
virtual size_t GetCharge(Handle* handle) const = 0;
#if (ROCKSDB_MAJOR >= 7 || (ROCKSDB_MAJOR == 6 && ROCKSDB_MINOR >= 22))
- virtual DeleterFn GetDeleter(Handle* handle) const override;
+ virtual DeleterFn GetDeleter(Handle* handle) const;
#endif
virtual void DisownData() override = 0;
#if (ROCKSDB_MAJOR >= 7 || (ROCKSDB_MAJOR == 6 && ROCKSDB_MINOR >= 22))
+ virtual const rocksdb::CacheItemHelper* GetCacheItemHelper(rocksdb::Cache::Handle* handle) const;
virtual void ApplyToAllEntries(
- const std::function<void(const rocksdb::Slice& key, void* value, size_t charge,
- DeleterFn deleter)>& callback,
- const ApplyToAllEntriesOptions& opts) override;
+ const std::function<void(const rocksdb::Slice& key,
+ rocksdb::Cache::ObjectPtr obj,
+ size_t charge,
+ const rocksdb::CacheItemHelper* helper)>& callback,
+ const rocksdb::ApplyToAllEntriesOptions& opts);
#else
virtual void ApplyToAllCacheEntries(void (*callback)(void*, size_t),
bool thread_safe) override;
--- ceph-17.2.6/src/kv/RocksDBStore.cc.orig 2023-04-05 11:09:51.000000000 -0400
+++ ceph-17.2.6/src/kv/RocksDBStore.cc 2023-04-20 16:19:29.280669881 -0400
@@ -903,6 +903,19 @@
// base_name - name of column without shard suffix: "-"+number
// options - additional options to apply
// cf_opt - column family options to update
+
+rocksdb::Status GetColumnFamilyOptionsFromMap(
+ const rocksdb::ColumnFamilyOptions& base_options,
+ const std::unordered_map<std::string, std::string>& opts_map,
+ rocksdb::ColumnFamilyOptions* new_options, bool input_strings_escaped,
+ bool ignore_unknown_options) {
+ rocksdb::ConfigOptions config_options;
+ config_options.ignore_unknown_options = ignore_unknown_options;
+ config_options.input_strings_escaped = input_strings_escaped;
+ return rocksdb::GetColumnFamilyOptionsFromMap(config_options, base_options, opts_map,
+ new_options);
+}
+
int RocksDBStore::update_column_family_options(const std::string& base_name,
const std::string& more_options,
rocksdb::ColumnFamilyOptions* cf_opt)
@@ -916,7 +929,7 @@
<< " options=" << more_options << dendl;
return r;
}
- status = rocksdb::GetColumnFamilyOptionsFromMap(*cf_opt, options_map, cf_opt);
+ status = GetColumnFamilyOptionsFromMap(*cf_opt, options_map, cf_opt, false, false);
if (!status.ok()) {
dout(5) << __func__ << " invalid column family optionsp; column family="
<< base_name << " options=" << more_options << dendl;
@@ -937,6 +950,20 @@
return 0;
}
+rocksdb::Status GetBlockBasedTableOptionsFromMap(
+ const rocksdb::BlockBasedTableOptions& table_options,
+ const std::unordered_map<std::string, std::string>& opts_map,
+ rocksdb::BlockBasedTableOptions* new_table_options, bool input_strings_escaped,
+ bool ignore_unknown_options) {
+ rocksdb::ConfigOptions config_options;
+ config_options.input_strings_escaped = input_strings_escaped;
+ config_options.ignore_unknown_options = ignore_unknown_options;
+ config_options.invoke_prepare_options = false;
+
+ return rocksdb::GetBlockBasedTableOptionsFromMap(config_options, table_options,
+ opts_map, new_table_options);
+}
+
int RocksDBStore::apply_block_cache_options(const std::string& column_name,
const std::string& block_cache_opt,
rocksdb::ColumnFamilyOptions* cf_opt)
@@ -981,7 +1008,7 @@
}
rocksdb::BlockBasedTableOptions column_bbt_opts;
- status = GetBlockBasedTableOptionsFromMap(bbt_opts, cache_options_map, &column_bbt_opts);
+ status = GetBlockBasedTableOptionsFromMap(bbt_opts, cache_options_map, &column_bbt_opts, false, false);
if (!status.ok()) {
dout(5) << __func__ << " invalid block cache options; column=" << column_name
<< " options=" << block_cache_opt << dendl;
--- ceph-17.2.6/src/kv/rocksdb_cache/BinnedLRUCache.h.orig 2023-04-21 10:11:00.180387609 -0400
+++ ceph-17.2.6/src/kv/rocksdb_cache/BinnedLRUCache.h 2023-04-21 10:17:15.527816193 -0400
@@ -121,7 +121,7 @@
void Free() {
ceph_assert((refs == 1 && InCache()) || (refs == 0 && !InCache()));
if (deleter) {
- (*deleter)(key(), value);
+ (*deleter)(this, nullptr);
}
delete[] key_data;
delete this;

View File

@ -0,0 +1,17 @@
--- ceph-18.0.0-2726-g7cea3740/src/rgw/rgw_amqp.cc.orig 2023-03-14 18:22:35.636864260 -0400
+++ ceph-18.0.0-2726-g7cea3740/src/rgw/rgw_amqp.cc 2023-03-14 18:24:36.362756771 -0400
@@ -2,10 +2,10 @@
// vim: ts=8 sw=2 smarttab ft=cpp
#include "rgw_amqp.h"
-#include <amqp.h>
-#include <amqp_ssl_socket.h>
-#include <amqp_tcp_socket.h>
-#include <amqp_framing.h>
+#include <rabbitmq-c/amqp.h>
+#include <rabbitmq-c/ssl_socket.h>
+#include <rabbitmq-c/tcp_socket.h>
+#include <rabbitmq-c/framing.h>
#include "include/ceph_assert.h"
#include <sstream>
#include <cstring>

View File

@ -0,0 +1,61 @@
--- ceph-18.0.0-2726-g7cea3740/src/rgw/rgw_asio_client.cc.orig 2023-03-14 18:46:02.037195570 -0400
+++ ceph-18.0.0-2726-g7cea3740/src/rgw/rgw_asio_client.cc 2023-03-14 18:55:14.446438244 -0400
@@ -39,11 +39,13 @@
const auto& value = header->value();
if (field == beast::http::field::content_length) {
- env.set("CONTENT_LENGTH", value.to_string());
+ std::string scratch{value.data(), value.size()};
+ env.set("CONTENT_LENGTH", scratch.c_str());
continue;
}
if (field == beast::http::field::content_type) {
- env.set("CONTENT_TYPE", value.to_string());
+ std::string scratch{value.data(), value.size()};
+ env.set("CONTENT_TYPE", scratch.c_str());
continue;
}
@@ -62,26 +64,37 @@
}
*dest = '\0';
- env.set(buf, value.to_string());
+ std::string scratch{value.data(), value.size()};
+ env.set(buf, scratch.c_str());
}
int major = request.version() / 10;
int minor = request.version() % 10;
env.set("HTTP_VERSION", std::to_string(major) + '.' + std::to_string(minor));
- env.set("REQUEST_METHOD", request.method_string().to_string());
+ {
+ std::string scratch {request.method_string().data(),request.method_string().size()};
+ env.set("REQUEST_METHOD", scratch.c_str());
+ }
// split uri from query
auto uri = request.target();
auto pos = uri.find('?');
if (pos != uri.npos) {
auto query = uri.substr(pos + 1);
- env.set("QUERY_STRING", query.to_string());
+ std::string scratch{query.data(), query.size()};
+ env.set("QUERY_STRING", scratch.c_str());
uri = uri.substr(0, pos);
}
- env.set("SCRIPT_URI", uri.to_string());
+ {
+ std::string scratch {uri.data(), uri.size()};
+ env.set("SCRIPT_URI", scratch.c_str());
+ }
- env.set("REQUEST_URI", request.target().to_string());
+ {
+ std::string scratch {request.target().data(), request.target().size()};
+ env.set("REQUEST_URI", scratch.c_str());
+ }
char port_buf[16];
snprintf(port_buf, sizeof(port_buf), "%d", local_endpoint.port());

View File

@ -0,0 +1,24 @@
--- ceph-18.0.0-2950-g1c931bc4/cmake/modules/BuildBoost.cmake.orig 2023-04-28 18:30:19.133064577 -0400
+++ ceph-18.0.0-2950-g1c931bc4/cmake/modules/BuildBoost.cmake 2023-04-28 18:31:55.290354383 -0400
@@ -104,12 +104,21 @@
set(user_config ${CMAKE_BINARY_DIR}/user-config.jam)
# edit the user-config.jam so b2 will be able to use the specified
# toolset and python
+if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64")
+ file(WRITE ${user_config}
+ "using ${toolset}"
+ " : "
+ " : ${CMAKE_CXX_COMPILER}"
+ " : <compileflags>-fPIC <compileflags>-w <compileflags>-fcf-protection <compileflags>-Wno-everything"
+ " ;\n")
+else()
file(WRITE ${user_config}
"using ${toolset}"
" : "
" : ${CMAKE_CXX_COMPILER}"
" : <compileflags>-fPIC <compileflags>-w <compileflags>-Wno-everything"
" ;\n")
+endif()
if(with_python_version)
find_package(Python3 ${with_python_version} QUIET REQUIRED
COMPONENTS Development)

61
0033-boost-asm.patch Normal file
View File

@ -0,0 +1,61 @@
--- ceph-17.2.6/src/boost/libs/context/src/asm/make_x86_64_sysv_elf_gas.S.orig 2023-04-30 14:25:35.009605033 -0400
+++ ceph-17.2.6/src/boost/libs/context/src/asm/make_x86_64_sysv_elf_gas.S 2023-04-30 14:28:32.239465067 -0400
@@ -80,3 +80,18 @@
/* Mark that we don't need executable stack. */
.section .note.GNU-stack,"",%progbits
+
+.section .note.gnu.property
+.align=8
+
+ .byte 0x04, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00
+ .byte 0x05, 0x00, 0x00, 0x00, 0x47, 0x4E, 0x55, 0x00
+ .byte 0x00, 0x00, 0x00, 0xC0, 0x04, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x01, 0x00, 0x00, 0xC0, 0x04, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
+ .byte 0x05, 0x00, 0x00, 0x00, 0x47, 0x4E, 0x55, 0x00
+ .byte 0x02, 0x00, 0x00, 0xC0, 0x04, 0x00, 0x00, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+
--- ceph-17.2.6/src/boost/libs/context/src/asm/jump_x86_64_sysv_elf_gas.S.orig 2023-04-30 14:25:35.008605050 -0400
+++ ceph-17.2.6/src/boost/libs/context/src/asm/jump_x86_64_sysv_elf_gas.S 2023-04-30 14:27:50.145210847 -0400
@@ -89,3 +89,17 @@
/* Mark that we don't need executable stack. */
.section .note.GNU-stack,"",%progbits
+
+.section .note.gnu.property
+.align=8
+
+ .byte 0x04, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00
+ .byte 0x05, 0x00, 0x00, 0x00, 0x47, 0x4E, 0x55, 0x00
+ .byte 0x00, 0x00, 0x00, 0xC0, 0x04, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x01, 0x00, 0x00, 0xC0, 0x04, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
+ .byte 0x05, 0x00, 0x00, 0x00, 0x47, 0x4E, 0x55, 0x00
+ .byte 0x02, 0x00, 0x00, 0xC0, 0x04, 0x00, 0x00, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
--- ceph-17.2.6/src/boost/libs/context/src/asm/ontop_x86_64_sysv_elf_gas.S.orig 2023-04-30 14:25:35.009605033 -0400
+++ ceph-17.2.6/src/boost/libs/context/src/asm/ontop_x86_64_sysv_elf_gas.S 2023-04-30 14:29:30.402434597 -0400
@@ -92,3 +92,17 @@
/* Mark that we don't need executable stack. */
.section .note.GNU-stack,"",%progbits
+
+.section .note.gnu.property
+.align=8
+
+ .byte 0x04, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00
+ .byte 0x05, 0x00, 0x00, 0x00, 0x47, 0x4E, 0x55, 0x00
+ .byte 0x00, 0x00, 0x00, 0xC0, 0x04, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x01, 0x00, 0x00, 0xC0, 0x04, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
+ .byte 0x05, 0x00, 0x00, 0x00, 0x47, 0x4E, 0x55, 0x00
+ .byte 0x02, 0x00, 0x00, 0xC0, 0x04, 0x00, 0x00, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00

View File

@ -0,0 +1,24 @@
--- ceph-18.1.2/src/pybind/rbd/rbd.pyx.orig 2023-07-21 13:30:08.156825317 -0400
+++ ceph-18.1.2/src/pybind/rbd/rbd.pyx 2023-07-24 09:09:27.930137117 -0400
@@ -371,10 +371,10 @@
cdef rados_ioctx_t convert_ioctx(rados.Ioctx ioctx) except? NULL:
return <rados_ioctx_t>ioctx.io
-cdef int progress_callback(uint64_t offset, uint64_t total, void* ptr) with gil:
+cdef int progress_callback(uint64_t offset, uint64_t total, void* ptr) noexcept with gil:
return (<object>ptr)(offset, total)
-cdef int no_op_progress_callback(uint64_t offset, uint64_t total, void* ptr):
+cdef int no_op_progress_callback(uint64_t offset, uint64_t total, void* ptr) noexcept:
return 0
def cstr(val, name, encoding="utf-8", opt=False):
@@ -426,7 +426,7 @@
cdef class Completion
-cdef void __aio_complete_cb(rbd_completion_t completion, void *args) with gil:
+cdef void __aio_complete_cb(rbd_completion_t completion, void *args) noexcept with gil:
"""
Callback to oncomplete() for asynchronous operations
"""

View File

@ -0,0 +1,18 @@
--- ceph/src/CMakeLists.txt.orig 2023-11-01 11:53:53.618167190 -0400
+++ ceph/src/CMakeLists.txt 2023-11-01 13:52:51.292643490 -0400
@@ -625,6 +625,7 @@
add_subdirectory(perfglue)
add_library(rados_snap_set_diff_obj OBJECT librados/snap_set_diff.cc)
+add_dependencies(rados_snap_set_diff_obj legacy-option-headers)
option(WITH_LIBRADOSSTRIPER "build with libradosstriper support" ON)
@@ -881,6 +882,7 @@
add_library(krbd STATIC krbd.cc
$<TARGET_OBJECTS:parse_secret_objs>)
target_link_libraries(krbd keyutils::keyutils)
+ add_dependencies(krbd legacy-option-headers)
endif()
add_subdirectory(librbd)
if(WITH_FUSE)

1300
ceph.spec

File diff suppressed because it is too large Load Diff

View File

@ -1 +1 @@
SHA512 (ceph-17.2.3.tar.gz) = fd6e057ba8440f69423e870dddb2705d68015089ff8d97356bdc359c2ab41e19351fb1c914330de6ba05180f48e328e3ea4c877e9dd80be049e2ec5895068595
SHA512 (ceph-18.2.1.tar.gz) = 88e1c18bc6c824b6203cf026cca4c9409000e7cf5b2b986e22ab74d2790d8b93d91556bd3af15a320dbdd0cf2302308f0b2c75fd1243bc5a65f76fc6b3d70736