Compare commits
244 Commits
master
...
main-riscv
Author | SHA1 | Date | |
---|---|---|---|
08840370b4 | |||
91966ee5b2 | |||
|
ae476e040f | ||
|
30fd6bd235 | ||
|
e61e83bf2e | ||
|
1add7973a9 | ||
|
dae4d4a3ac | ||
|
f7b9e58050 | ||
|
3430d480f2 | ||
|
df3c9e92fb | ||
|
649f961fa0 | ||
|
ed9b5e1f74 | ||
|
1bf01fccf7 | ||
|
93a4fe7597 | ||
|
1ca647a4b9 | ||
|
88108d8c98 | ||
|
6f79abf9c3 | ||
|
0d1cc731ad | ||
|
5e76bc0ad4 | ||
|
6f9f7e2e4a | ||
|
085cd612d4 | ||
|
aa691eb6d2 | ||
|
468a2c36ab | ||
|
1980396784 | ||
|
91dd896847 | ||
|
ca81cd2515 | ||
|
617d537253 | ||
|
35042fccaa | ||
|
c89ec5de2b | ||
|
9c5f485aa9 | ||
|
4f4defa7e2 | ||
|
1ab48d0e0d | ||
|
9a0799bc61 | ||
|
c817d5a04e | ||
|
0e8a2ef902 | ||
|
d3ad3a08bd | ||
|
dcf07e8b7f | ||
|
dbd2b71d9d | ||
|
2cc4dd5e37 | ||
|
e5f1594856 | ||
|
3d4788fc3e | ||
|
2fec333c00 | ||
|
460ba1ceb5 | ||
|
58319e8d44 | ||
|
4844e582ac | ||
|
aaedf07964 | ||
|
f33cca0cb6 | ||
|
c613a7913d | ||
|
32b1af1542 | ||
|
0d92b145fb | ||
|
1fd4067b59 | ||
|
68c121780b | ||
|
c63ac8cd1c | ||
|
0cef2ba27d | ||
|
da92657ed9 | ||
|
339f628c14 | ||
|
fe792d61ad | ||
|
945dc70d29 | ||
|
e6b3456a69 | ||
|
f6485b3ab1 | ||
|
2d1c189958 | ||
|
af3d1fd70c | ||
|
f52b5ed647 | ||
4edafff168 | |||
|
5c6ef2f610 | ||
|
b651554bd7 | ||
|
80c32a846e | ||
|
c59af85c9a | ||
|
ad04d48a91 | ||
|
5cc1064abe | ||
|
0f36784c8d | ||
|
4641edbf6e | ||
|
7522ec1d1e | ||
|
4a7615cc28 | ||
|
eacbe3b4a2 | ||
|
87c5192736 | ||
|
21a281eefc | ||
|
7c4f87d566 | ||
|
85d0b180fb | ||
|
2999191251 | ||
|
0434611ff3 | ||
|
4425090d12 | ||
|
4f320e6270 | ||
|
3ca3b39fdd | ||
|
c46fd83b70 | ||
|
9189e1ac7a | ||
|
f3cd3e3ded | ||
|
3e6e53903f | ||
|
1156a4001e | ||
|
511c2f1a19 | ||
|
a4f5a49de7 | ||
|
629d997bbd | ||
|
b2a3bb3cff | ||
|
edd18f65bf | ||
|
944b374961 | ||
|
90dfc56cf2 | ||
|
bf163e9b33 | ||
|
5897751ce1 | ||
|
73efddca7f | ||
|
f9fa7d2971 | ||
|
1efbe7fbd6 | ||
|
fed2cbacdf | ||
|
bddfe865f2 | ||
|
e56d4b2886 | ||
|
b6062fd6dc | ||
|
8c6b1da0a2 | ||
|
1f11726563 | ||
|
bba894de7e | ||
|
3715b23426 | ||
|
f38d3f777f | ||
|
0114881ab4 | ||
|
a786ef1504 | ||
|
2931b99be7 | ||
|
70e587526e | ||
|
9c86a420ea | ||
|
0c8ed285d3 | ||
|
ddbcb5d66f | ||
|
8c750b960c | ||
|
abdbef9e0e | ||
|
43b4197d44 | ||
|
b0c18eeafc | ||
|
9c55220808 | ||
|
8a6545912f | ||
|
e7a5495ba4 | ||
|
7c50250c92 | ||
|
1217c82a28 | ||
|
8d6f5530e7 | ||
|
fe9cf79756 | ||
|
0d4b487537 | ||
|
13c95af02e | ||
|
c8153cb68b | ||
|
a82adb1178 | ||
|
0da31a640b | ||
|
c5116a4d3d | ||
|
f6c80111f0 | ||
|
65809728d6 | ||
|
d7454e4e0a | ||
|
804031cde8 | ||
|
f126724be1 | ||
|
9e94fbdfaf | ||
|
b070296ace | ||
|
98f7173b37 | ||
|
4bd118debc | ||
|
78e076b5af | ||
|
976474060f | ||
|
d60970c7cd | ||
|
4a2e67ce27 | ||
|
5cee54462c | ||
|
5e9e44ba9d | ||
|
03686a5492 | ||
|
c4b36fdbe9 | ||
|
ba585a6512 | ||
|
3aa610e268 | ||
|
af4b4952f8 | ||
|
cbed2814c2 | ||
|
92605c05f0 | ||
|
fc46f52db9 | ||
|
7ccae1fdf3 | ||
|
1fdc7e124d | ||
|
be247e2321 | ||
|
7d89214d12 | ||
|
189f095ebc | ||
|
a7b4842132 | ||
|
07c18dd027 | ||
|
415b03ce74 | ||
|
3d9c93f7ab | ||
|
59dc7d2595 | ||
|
bf4b7aed66 | ||
|
501243427a | ||
|
9e63d61879 | ||
|
19975cf06e | ||
|
7b01ed79a0 | ||
|
f871a2726e | ||
|
f52ea67e29 | ||
|
df3db8be0e | ||
|
da3f27e563 | ||
|
d5be4a1cc6 | ||
|
950231a5bb | ||
|
b774776eb5 | ||
|
be7e755323 | ||
|
95e779c6c1 | ||
|
73dfbc7ffd | ||
|
be70cfd29d | ||
|
2e1f76369c | ||
|
6daabd97d4 | ||
|
fbd3e48156 | ||
|
6fc0065262 | ||
|
df740a5e36 | ||
|
cb586a7643 | ||
|
447d02458a | ||
|
f0623329e5 | ||
|
624de89cce | ||
|
0e58e2f39c | ||
|
66d0b21911 | ||
|
abcc0b7100 | ||
|
cc4e5c3669 | ||
|
5c46ad7f7e | ||
|
5904d137cf | ||
|
21ae44b9d8 | ||
|
ab7f0da7e2 | ||
|
db4f36a951 | ||
|
0654a1fdc4 | ||
|
1e83c5c029 | ||
|
e4cc93f966 | ||
|
26fd4ffbc6 | ||
|
d463ff311e | ||
|
ef8dc618c7 | ||
|
fcc245cca3 | ||
|
acfede696d | ||
|
d6834c5aab | ||
|
a09febb7ef | ||
|
9cdcdd7459 | ||
|
6c126d30be | ||
|
3913155591 | ||
|
648550e64f | ||
|
4deb491174 | ||
|
d8a9bdfabe | ||
|
0d98dedd32 | ||
|
16a5d9d365 | ||
|
b7bbd8375e | ||
|
7816ec5783 | ||
|
e7d942d1e6 | ||
|
e559532d4b | ||
|
2abb0a0f7c | ||
|
ce8aeac3f1 | ||
|
c5f02885fe | ||
|
0bbc5f85a7 | ||
|
b0cac5e936 | ||
|
a384bd1238 | ||
|
c7349cff7f | ||
|
f706627b65 | ||
|
0f1e9aab49 | ||
|
0c11deb6e7 | ||
|
f2665f8f56 | ||
|
d472f02868 | ||
|
9ccdbdeb2a | ||
|
f8c0702a5e | ||
|
51d56299ba | ||
|
f92c59c650 | ||
|
89637a46f7 | ||
|
c3ded1ba4d | ||
|
229de7b3ab | ||
|
d7375fe89d | ||
|
8ceca65767 |
@ -1,65 +0,0 @@
|
|||||||
From a45270a441d483ce57db48cda699a0d2d9c01f18 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Boris Ranto <branto@redhat.com>
|
|
||||||
Date: Thu, 28 Feb 2019 00:58:12 +0100
|
|
||||||
Subject: [PATCH] s390x: A compile hack
|
|
||||||
|
|
||||||
Signed-off-by: Boris Ranto <branto@redhat.com>
|
|
||||||
---
|
|
||||||
src/rgw/rgw_dmclock_async_scheduler.cc | 2 ++
|
|
||||||
src/test/rgw/test_rgw_dmclock_scheduler.cc | 8 ++++----
|
|
||||||
2 files changed, 6 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/rgw/rgw_dmclock_async_scheduler.cc b/src/rgw/rgw_dmclock_async_scheduler.cc
|
|
||||||
index 18ba5a5e32..08657cf2b5 100644
|
|
||||||
--- a/src/rgw/rgw_dmclock_async_scheduler.cc
|
|
||||||
+++ b/src/rgw/rgw_dmclock_async_scheduler.cc
|
|
||||||
@@ -41,6 +41,7 @@ int AsyncScheduler::schedule_request_impl(const client_id& client,
|
|
||||||
const Time& time, const Cost& cost,
|
|
||||||
optional_yield yield_ctx)
|
|
||||||
{
|
|
||||||
+#ifdef HAVE_BOOST_CONTEXT
|
|
||||||
ceph_assert(yield_ctx);
|
|
||||||
|
|
||||||
auto &yield = yield_ctx.get_yield_context();
|
|
||||||
@@ -53,6 +54,7 @@ int AsyncScheduler::schedule_request_impl(const client_id& client,
|
|
||||||
else
|
|
||||||
return -ec.value();
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
diff --git a/src/test/rgw/test_rgw_dmclock_scheduler.cc b/src/test/rgw/test_rgw_dmclock_scheduler.cc
|
|
||||||
index 4e4177cb0b..ddbfd12217 100644
|
|
||||||
--- a/src/test/rgw/test_rgw_dmclock_scheduler.cc
|
|
||||||
+++ b/src/test/rgw/test_rgw_dmclock_scheduler.cc
|
|
||||||
@@ -14,6 +14,8 @@
|
|
||||||
|
|
||||||
//#define BOOST_ASIO_ENABLE_HANDLER_TRACKING
|
|
||||||
|
|
||||||
+#ifdef HAVE_BOOST_CONTEXT
|
|
||||||
+
|
|
||||||
#include "rgw/rgw_dmclock_sync_scheduler.h"
|
|
||||||
#include "rgw/rgw_dmclock_async_scheduler.h"
|
|
||||||
|
|
||||||
@@ -395,8 +397,6 @@ TEST(Queue, CrossExecutorRequest)
|
|
||||||
EXPECT_EQ(PhaseType::priority, *p2);
|
|
||||||
}
|
|
||||||
|
|
||||||
-#ifdef HAVE_BOOST_CONTEXT
|
|
||||||
-
|
|
||||||
TEST(Queue, SpawnAsyncRequest)
|
|
||||||
{
|
|
||||||
boost::asio::io_context context;
|
|
||||||
@@ -426,6 +426,6 @@ TEST(Queue, SpawnAsyncRequest)
|
|
||||||
EXPECT_TRUE(context.stopped());
|
|
||||||
}
|
|
||||||
|
|
||||||
-#endif
|
|
||||||
-
|
|
||||||
} // namespace rgw::dmclock
|
|
||||||
+
|
|
||||||
+#endif
|
|
||||||
--
|
|
||||||
2.20.1
|
|
||||||
|
|
55
0001-src-common-crc32c_intel_fast.patch
Normal file
55
0001-src-common-crc32c_intel_fast.patch
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
--- ceph-15.2.2/src/common/crc32c_intel_fast_zero_asm.s.orig 2020-05-26 08:34:32.226201974 -0400
|
||||||
|
+++ ceph-15.2.2/src/common/crc32c_intel_fast_zero_asm.s 2020-05-26 17:19:32.497201974 -0400
|
||||||
|
@@ -1,5 +1,5 @@
|
||||||
|
;
|
||||||
|
-; Copyright 2012-2013 Intel Corporation All Rights Reserved.
|
||||||
|
+; Copyright 2012-2015 Intel Corporation All Rights Reserved.
|
||||||
|
; All rights reserved.
|
||||||
|
;
|
||||||
|
; http://opensource.org/licenses/BSD-3-Clause
|
||||||
|
@@ -59,6 +59,19 @@
|
||||||
|
xor rbx, rbx ;; rbx = crc1 = 0;
|
||||||
|
xor r10, r10 ;; r10 = crc2 = 0;
|
||||||
|
|
||||||
|
+ cmp len, %%bSize*3*2
|
||||||
|
+ jbe %%non_prefetch
|
||||||
|
+
|
||||||
|
+ %assign i 0
|
||||||
|
+ %rep %%bSize/8 - 1
|
||||||
|
+ crc32 rax, bufptmp ;; update crc0
|
||||||
|
+ crc32 rbx, bufptmp ;; update crc1
|
||||||
|
+ crc32 r10, bufptmp ;; update crc2
|
||||||
|
+ %assign i (i+8)
|
||||||
|
+ %endrep
|
||||||
|
+ jmp %%next %+ %1
|
||||||
|
+
|
||||||
|
+%%non_prefetch:
|
||||||
|
%assign i 0
|
||||||
|
%rep %%bSize/8 - 1
|
||||||
|
crc32 rax, bufptmp ;; update crc0
|
||||||
|
@@ -66,6 +79,8 @@
|
||||||
|
crc32 r10, bufptmp ;; update crc2
|
||||||
|
%assign i (i+8)
|
||||||
|
%endrep
|
||||||
|
+
|
||||||
|
+%%next %+ %1:
|
||||||
|
crc32 rax, bufptmp ;; update crc0
|
||||||
|
crc32 rbx, bufptmp ;; update crc1
|
||||||
|
; SKIP ;crc32 r10, bufptmp ;; update crc2
|
||||||
|
@@ -180,12 +195,15 @@
|
||||||
|
%define crc_init_dw r8d
|
||||||
|
%endif
|
||||||
|
|
||||||
|
-
|
||||||
|
+ endbranch
|
||||||
|
push rdi
|
||||||
|
push rbx
|
||||||
|
|
||||||
|
mov rax, crc_init ;; rax = crc_init;
|
||||||
|
|
||||||
|
+ cmp len, 8
|
||||||
|
+ jb less_than_8
|
||||||
|
+
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
;; 1) ALIGN: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
@ -1,13 +0,0 @@
|
|||||||
diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt
|
|
||||||
index 65ba10b0f1..eeedc29c37 100644
|
|
||||||
--- a/src/common/CMakeLists.txt
|
|
||||||
+++ b/src/common/CMakeLists.txt
|
|
||||||
@@ -165,7 +165,7 @@ elseif(HAVE_ARMV8_CRC)
|
|
||||||
crc32c_aarch64.c)
|
|
||||||
endif(HAVE_INTEL)
|
|
||||||
|
|
||||||
-add_library(crc32 ${crc32_srcs})
|
|
||||||
+add_library(crc32 STATIC ${crc32_srcs})
|
|
||||||
if(HAVE_ARMV8_CRC)
|
|
||||||
set_target_properties(crc32 PROPERTIES
|
|
||||||
COMPILE_FLAGS "${CMAKE_C_FLAGS} ${ARMV8_CRC_COMPILE_FLAGS}")
|
|
10
0003-src-common-bitstr.h.patch
Normal file
10
0003-src-common-bitstr.h.patch
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
--- ceph-15.1.0/src/common/bit_str.h.orig 2020-02-03 09:47:20.047149798 -0500
|
||||||
|
+++ ceph-15.1.0/src/common/bit_str.h 2020-02-03 09:47:50.213149798 -0500
|
||||||
|
@@ -17,6 +17,7 @@
|
||||||
|
#include <cstdint>
|
||||||
|
#include <iosfwd>
|
||||||
|
#include <functional>
|
||||||
|
+#include <ostream>
|
||||||
|
|
||||||
|
namespace ceph {
|
||||||
|
class Formatter;
|
11
0008-cmake-modules-Finduring.cmake.patch
Normal file
11
0008-cmake-modules-Finduring.cmake.patch
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
--- ceph-16.1.0-43-g6b74fb5c/cmake/modules/Finduring.cmake.orig 2021-02-01 08:45:39.316108287 -0500
|
||||||
|
+++ ceph-16.1.0-43-g6b74fb5c/cmake/modules/Finduring.cmake 2021-02-01 08:45:59.813665378 -0500
|
||||||
|
@@ -5,7 +5,7 @@
|
||||||
|
# uring_FOUND - True if uring found.
|
||||||
|
|
||||||
|
find_path(URING_INCLUDE_DIR liburing.h)
|
||||||
|
-find_library(URING_LIBRARIES liburing.a liburing)
|
||||||
|
+find_library(URING_LIBRARIES liburing.so liburing)
|
||||||
|
|
||||||
|
include(FindPackageHandleStandardArgs)
|
||||||
|
find_package_handle_standard_args(uring DEFAULT_MSG URING_LIBRARIES URING_INCLUDE_DIR)
|
@ -0,0 +1,27 @@
|
|||||||
|
From 1999108aeb1f6f93a19ea7bb64c6ae8b87d1b264 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "H.J. Lu" <hjl.tools@gmail.com>
|
||||||
|
Date: Thu, 20 Jan 2022 05:33:13 -0800
|
||||||
|
Subject: [PATCH] CET: Add CET marker to crc32c_intel_fast_zero_asm.s
|
||||||
|
|
||||||
|
Add .note.gnu.property section to crc32c_intel_fast_zero_asm.s to mark
|
||||||
|
for IBT and SHSTK compatibility.
|
||||||
|
---
|
||||||
|
src/common/crc32c_intel_fast_zero_asm.s | 4 ++++
|
||||||
|
1 file changed, 4 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/common/crc32c_intel_fast_zero_asm.s b/src/common/crc32c_intel_fast_zero_asm.s
|
||||||
|
index 216ecf639f3..2e291d858f3 100644
|
||||||
|
--- a/src/common/crc32c_intel_fast_zero_asm.s
|
||||||
|
+++ b/src/common/crc32c_intel_fast_zero_asm.s
|
||||||
|
@@ -654,4 +654,8 @@ slversion crc32_iscsi_zero_00, 00, 02, 0014
|
||||||
|
%ifidn __OUTPUT_FORMAT__, elf64
|
||||||
|
; inform linker that this doesn't require executable stack
|
||||||
|
section .note.GNU-stack noalloc noexec nowrite progbits
|
||||||
|
+; inform linker that this is compatible with IBT and SHSTK
|
||||||
|
+section .note.gnu.property note alloc noexec align=8
|
||||||
|
+DD 0x00000004,0x00000010,0x00000005,0x00554e47
|
||||||
|
+DD 0xc0000002,0x00000004,0x00000003,0x00000000
|
||||||
|
%endif
|
||||||
|
--
|
||||||
|
2.34.1
|
||||||
|
|
172
0011-isa-l-CET-Add-CET-marker-to-x86-64-crc32-assembly-co.patch
Normal file
172
0011-isa-l-CET-Add-CET-marker-to-x86-64-crc32-assembly-co.patch
Normal file
@ -0,0 +1,172 @@
|
|||||||
|
From bbcc1a69f787881f16156f3c789052942a564103 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "H.J. Lu" <hjl.tools@gmail.com>
|
||||||
|
Date: Thu, 20 Jan 2022 05:35:49 -0800
|
||||||
|
Subject: [PATCH] isa-l/CET: Add CET marker to x86-64 crc32 assembly codes
|
||||||
|
|
||||||
|
Add .note.gnu.property section to x86-64 crc32 assembly codes to mark
|
||||||
|
for IBT and SHSTK compatibility.
|
||||||
|
---
|
||||||
|
crc/crc32_gzip_refl_by16_10.asm | 9 +++++++++
|
||||||
|
crc/crc32_gzip_refl_by8.asm | 9 +++++++++
|
||||||
|
crc/crc32_gzip_refl_by8_02.asm | 9 +++++++++
|
||||||
|
crc/crc32_ieee_01.asm | 8 ++++++++
|
||||||
|
crc/crc32_ieee_02.asm | 9 +++++++++
|
||||||
|
crc/crc32_ieee_by16_10.asm | 9 +++++++++
|
||||||
|
crc/crc32_ieee_by4.asm | 9 +++++++++
|
||||||
|
crc/crc32_iscsi_00.asm | 8 ++++++++
|
||||||
|
crc/crc32_iscsi_01.asm | 8 ++++++++
|
||||||
|
9 files changed, 78 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/isa-l/crc/crc32_gzip_refl_by16_10.asm b/src/isa-l/crc/crc32_gzip_refl_by16_10.asm
|
||||||
|
index 40236f6..b16874d 100644
|
||||||
|
--- a/src/isa-l/crc/crc32_gzip_refl_by16_10.asm
|
||||||
|
+++ b/src/isa-l/crc/crc32_gzip_refl_by16_10.asm
|
||||||
|
@@ -566,3 +566,12 @@ global no_ %+ FUNCTION_NAME
|
||||||
|
no_ %+ FUNCTION_NAME %+ :
|
||||||
|
%endif
|
||||||
|
%endif ; (AS_FEATURE_LEVEL) >= 10
|
||||||
|
+
|
||||||
|
+%ifidn __OUTPUT_FORMAT__, elf64
|
||||||
|
+; inform linker that this doesn't require executable stack
|
||||||
|
+section .note.GNU-stack noalloc noexec nowrite progbits
|
||||||
|
+; inform linker that this is compatible with IBT and SHSTK
|
||||||
|
+section .note.gnu.property note alloc noexec align=8
|
||||||
|
+DD 0x00000004,0x00000010,0x00000005,0x00554e47
|
||||||
|
+DD 0xc0000002,0x00000004,0x00000003,0x00000000
|
||||||
|
+%endif
|
||||||
|
diff --git a/src/isa-l/crc/crc32_gzip_refl_by8.asm b/src/isa-l/crc/crc32_gzip_refl_by8.asm
|
||||||
|
index 62f7e7d..97b0c4a 100644
|
||||||
|
--- a/src/isa-l/crc/crc32_gzip_refl_by8.asm
|
||||||
|
+++ b/src/isa-l/crc/crc32_gzip_refl_by8.asm
|
||||||
|
@@ -622,3 +622,12 @@ dq 0x0706050403020100, 0x000e0d0c0b0a0908
|
||||||
|
|
||||||
|
;;; func core, ver, snum
|
||||||
|
slversion crc32_gzip_refl_by8, 01, 00, 002c
|
||||||
|
+
|
||||||
|
+%ifidn __OUTPUT_FORMAT__, elf64
|
||||||
|
+; inform linker that this doesn't require executable stack
|
||||||
|
+section .note.GNU-stack noalloc noexec nowrite progbits
|
||||||
|
+; inform linker that this is compatible with IBT and SHSTK
|
||||||
|
+section .note.gnu.property note alloc noexec align=8
|
||||||
|
+DD 0x00000004,0x00000010,0x00000005,0x00554e47
|
||||||
|
+DD 0xc0000002,0x00000004,0x00000003,0x00000000
|
||||||
|
+%endif
|
||||||
|
diff --git a/src/isa-l/crc/crc32_gzip_refl_by8_02.asm b/src/isa-l/crc/crc32_gzip_refl_by8_02.asm
|
||||||
|
index 80d849e..1d5a75f 100644
|
||||||
|
--- a/src/isa-l/crc/crc32_gzip_refl_by8_02.asm
|
||||||
|
+++ b/src/isa-l/crc/crc32_gzip_refl_by8_02.asm
|
||||||
|
@@ -553,3 +553,12 @@ pshufb_shf_table:
|
||||||
|
; dq 0x060504030201008f, 0x0e0d0c0b0a090807 ; shl 1 (16-15) / shr15
|
||||||
|
dq 0x8786858483828100, 0x8f8e8d8c8b8a8988
|
||||||
|
dq 0x0706050403020100, 0x000e0d0c0b0a0908
|
||||||
|
+
|
||||||
|
+%ifidn __OUTPUT_FORMAT__, elf64
|
||||||
|
+; inform linker that this doesn't require executable stack
|
||||||
|
+section .note.GNU-stack noalloc noexec nowrite progbits
|
||||||
|
+; inform linker that this is compatible with IBT and SHSTK
|
||||||
|
+section .note.gnu.property note alloc noexec align=8
|
||||||
|
+DD 0x00000004,0x00000010,0x00000005,0x00554e47
|
||||||
|
+DD 0xc0000002,0x00000004,0x00000003,0x00000000
|
||||||
|
+%endif
|
||||||
|
diff --git a/src/isa-l/crc/crc32_ieee_01.asm b/src/isa-l/crc/crc32_ieee_01.asm
|
||||||
|
index 32495ed..cfc443b 100644
|
||||||
|
--- a/src/isa-l/crc/crc32_ieee_01.asm
|
||||||
|
+++ b/src/isa-l/crc/crc32_ieee_01.asm
|
||||||
|
@@ -653,3 +653,11 @@ dq 0x0706050403020100, 0x000e0d0c0b0a0908
|
||||||
|
;;; func core, ver, snum
|
||||||
|
slversion crc32_ieee_01, 01, 06, 0011
|
||||||
|
|
||||||
|
+%ifidn __OUTPUT_FORMAT__, elf64
|
||||||
|
+; inform linker that this doesn't require executable stack
|
||||||
|
+section .note.GNU-stack noalloc noexec nowrite progbits
|
||||||
|
+; inform linker that this is compatible with IBT and SHSTK
|
||||||
|
+section .note.gnu.property note alloc noexec align=8
|
||||||
|
+DD 0x00000004,0x00000010,0x00000005,0x00554e47
|
||||||
|
+DD 0xc0000002,0x00000004,0x00000003,0x00000000
|
||||||
|
+%endif
|
||||||
|
diff --git a/src/isa-l/crc/crc32_ieee_02.asm b/src/isa-l/crc/crc32_ieee_02.asm
|
||||||
|
index 8a472b0..dd7096a 100644
|
||||||
|
--- a/src/isa-l/crc/crc32_ieee_02.asm
|
||||||
|
+++ b/src/isa-l/crc/crc32_ieee_02.asm
|
||||||
|
@@ -649,3 +649,12 @@ pshufb_shf_table:
|
||||||
|
; dq 0x060504030201008f, 0x0e0d0c0b0a090807 ; shl 1 (16-15) / shr15
|
||||||
|
dq 0x8786858483828100, 0x8f8e8d8c8b8a8988
|
||||||
|
dq 0x0706050403020100, 0x000e0d0c0b0a0908
|
||||||
|
+
|
||||||
|
+%ifidn __OUTPUT_FORMAT__, elf64
|
||||||
|
+; inform linker that this doesn't require executable stack
|
||||||
|
+section .note.GNU-stack noalloc noexec nowrite progbits
|
||||||
|
+; inform linker that this is compatible with IBT and SHSTK
|
||||||
|
+section .note.gnu.property note alloc noexec align=8
|
||||||
|
+DD 0x00000004,0x00000010,0x00000005,0x00554e47
|
||||||
|
+DD 0xc0000002,0x00000004,0x00000003,0x00000000
|
||||||
|
+%endif
|
||||||
|
diff --git a/src/isa-l/crc/crc32_ieee_by16_10.asm b/src/isa-l/crc/crc32_ieee_by16_10.asm
|
||||||
|
index 200fd93..2afd597 100644
|
||||||
|
--- a/src/isa-l/crc/crc32_ieee_by16_10.asm
|
||||||
|
+++ b/src/isa-l/crc/crc32_ieee_by16_10.asm
|
||||||
|
@@ -582,3 +582,12 @@ global no_ %+ FUNCTION_NAME
|
||||||
|
no_ %+ FUNCTION_NAME %+ :
|
||||||
|
%endif
|
||||||
|
%endif ; (AS_FEATURE_LEVEL) >= 10
|
||||||
|
+
|
||||||
|
+%ifidn __OUTPUT_FORMAT__, elf64
|
||||||
|
+; inform linker that this doesn't require executable stack
|
||||||
|
+section .note.GNU-stack noalloc noexec nowrite progbits
|
||||||
|
+; inform linker that this is compatible with IBT and SHSTK
|
||||||
|
+section .note.gnu.property note alloc noexec align=8
|
||||||
|
+DD 0x00000004,0x00000010,0x00000005,0x00554e47
|
||||||
|
+DD 0xc0000002,0x00000004,0x00000003,0x00000000
|
||||||
|
+%endif
|
||||||
|
diff --git a/src/isa-l/crc/crc32_ieee_by4.asm b/src/isa-l/crc/crc32_ieee_by4.asm
|
||||||
|
index 39bed5a..847d0bd 100644
|
||||||
|
--- a/src/isa-l/crc/crc32_ieee_by4.asm
|
||||||
|
+++ b/src/isa-l/crc/crc32_ieee_by4.asm
|
||||||
|
@@ -563,3 +563,12 @@ SHUF_MASK dq 0x08090A0B0C0D0E0F, 0x0001020304050607
|
||||||
|
|
||||||
|
;;; func core, ver, snum
|
||||||
|
slversion crc32_ieee_by4, 05, 02, 0017
|
||||||
|
+
|
||||||
|
+%ifidn __OUTPUT_FORMAT__, elf64
|
||||||
|
+; inform linker that this doesn't require executable stack
|
||||||
|
+section .note.GNU-stack noalloc noexec nowrite progbits
|
||||||
|
+; inform linker that this is compatible with IBT and SHSTK
|
||||||
|
+section .note.gnu.property note alloc noexec align=8
|
||||||
|
+DD 0x00000004,0x00000010,0x00000005,0x00554e47
|
||||||
|
+DD 0xc0000002,0x00000004,0x00000003,0x00000000
|
||||||
|
+%endif
|
||||||
|
diff --git a/src/isa-l/crc/crc32_iscsi_00.asm b/src/isa-l/crc/crc32_iscsi_00.asm
|
||||||
|
index 4f81e3a..3d6b2d1 100644
|
||||||
|
--- a/src/isa-l/crc/crc32_iscsi_00.asm
|
||||||
|
+++ b/src/isa-l/crc/crc32_iscsi_00.asm
|
||||||
|
@@ -669,3 +669,11 @@ DD 0x54851c7f,0x89e3d7c4,0xeba4fdf8,0x36c23643
|
||||||
|
;;; func core, ver, snum
|
||||||
|
slversion crc32_iscsi_00, 00, 04, 0014
|
||||||
|
|
||||||
|
+%ifidn __OUTPUT_FORMAT__, elf64
|
||||||
|
+; inform linker that this doesn't require executable stack
|
||||||
|
+section .note.GNU-stack noalloc noexec nowrite progbits
|
||||||
|
+; inform linker that this is compatible with IBT and SHSTK
|
||||||
|
+section .note.gnu.property note alloc noexec align=8
|
||||||
|
+DD 0x00000004,0x00000010,0x00000005,0x00554e47
|
||||||
|
+DD 0xc0000002,0x00000004,0x00000003,0x00000000
|
||||||
|
+%endif
|
||||||
|
diff --git a/src/isa-l/crc/crc32_iscsi_01.asm b/src/isa-l/crc/crc32_iscsi_01.asm
|
||||||
|
index 2a81517..c048413 100644
|
||||||
|
--- a/src/isa-l/crc/crc32_iscsi_01.asm
|
||||||
|
+++ b/src/isa-l/crc/crc32_iscsi_01.asm
|
||||||
|
@@ -588,3 +588,11 @@ K_table:
|
||||||
|
;;; func core, ver, snum
|
||||||
|
slversion crc32_iscsi_01, 01, 04, 0015
|
||||||
|
|
||||||
|
+%ifidn __OUTPUT_FORMAT__, elf64
|
||||||
|
+; inform linker that this doesn't require executable stack
|
||||||
|
+section .note.GNU-stack noalloc noexec nowrite progbits
|
||||||
|
+; inform linker that this is compatible with IBT and SHSTK
|
||||||
|
+section .note.gnu.property note alloc noexec align=8
|
||||||
|
+DD 0x00000004,0x00000010,0x00000005,0x00554e47
|
||||||
|
+DD 0xc0000002,0x00000004,0x00000003,0x00000000
|
||||||
|
+%endif
|
||||||
|
--
|
||||||
|
2.34.1
|
||||||
|
|
100
0012-spdk-isa-l-CET-Add-CET-marker-to-x86-64-crc32-assemb.patch
Normal file
100
0012-spdk-isa-l-CET-Add-CET-marker-to-x86-64-crc32-assemb.patch
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
From 72e6d27e08c86c16e8931739a5e6ecbc06b102d5 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "H.J. Lu" <hjl.tools@gmail.com>
|
||||||
|
Date: Thu, 20 Jan 2022 05:40:56 -0800
|
||||||
|
Subject: [PATCH] spdk/isa-l/CET: Add CET marker to x86-64 crc32 assembly codes
|
||||||
|
|
||||||
|
Add .note.gnu.property section to x86-64 crc32 assembly codes to mark
|
||||||
|
for IBT and SHSTK compatibility.
|
||||||
|
---
|
||||||
|
crc/crc32_gzip_refl_by8.asm | 9 +++++++++
|
||||||
|
crc/crc32_ieee_01.asm | 8 ++++++++
|
||||||
|
crc/crc32_ieee_by4.asm | 9 +++++++++
|
||||||
|
crc/crc32_iscsi_00.asm | 8 ++++++++
|
||||||
|
crc/crc32_iscsi_01.asm | 8 ++++++++
|
||||||
|
5 files changed, 42 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/spdk/isa-l/crc/crc32_gzip_refl_by8.asm b/src/spdk/isa-l/crc/crc32_gzip_refl_by8.asm
|
||||||
|
index 62f7e7d..97b0c4a 100644
|
||||||
|
--- a/src/spdk/isa-l/crc/crc32_gzip_refl_by8.asm
|
||||||
|
+++ b/src/spdk/isa-l/crc/crc32_gzip_refl_by8.asm
|
||||||
|
@@ -622,3 +622,12 @@ dq 0x0706050403020100, 0x000e0d0c0b0a0908
|
||||||
|
|
||||||
|
;;; func core, ver, snum
|
||||||
|
slversion crc32_gzip_refl_by8, 01, 00, 002c
|
||||||
|
+
|
||||||
|
+%ifidn __OUTPUT_FORMAT__, elf64
|
||||||
|
+; inform linker that this doesn't require executable stack
|
||||||
|
+section .note.GNU-stack noalloc noexec nowrite progbits
|
||||||
|
+; inform linker that this is compatible with IBT and SHSTK
|
||||||
|
+section .note.gnu.property note alloc noexec align=8
|
||||||
|
+DD 0x00000004,0x00000010,0x00000005,0x00554e47
|
||||||
|
+DD 0xc0000002,0x00000004,0x00000003,0x00000000
|
||||||
|
+%endif
|
||||||
|
diff --git a/src/spdk/isa-l/crc/crc32_ieee_01.asm b/src/spdk/isa-l/crc/crc32_ieee_01.asm
|
||||||
|
index 32495ed..cfc443b 100644
|
||||||
|
--- a/src/spdk/isa-l/crc/crc32_ieee_01.asm
|
||||||
|
+++ b/src/spdk/isa-l/crc/crc32_ieee_01.asm
|
||||||
|
@@ -653,3 +653,11 @@ dq 0x0706050403020100, 0x000e0d0c0b0a0908
|
||||||
|
;;; func core, ver, snum
|
||||||
|
slversion crc32_ieee_01, 01, 06, 0011
|
||||||
|
|
||||||
|
+%ifidn __OUTPUT_FORMAT__, elf64
|
||||||
|
+; inform linker that this doesn't require executable stack
|
||||||
|
+section .note.GNU-stack noalloc noexec nowrite progbits
|
||||||
|
+; inform linker that this is compatible with IBT and SHSTK
|
||||||
|
+section .note.gnu.property note alloc noexec align=8
|
||||||
|
+DD 0x00000004,0x00000010,0x00000005,0x00554e47
|
||||||
|
+DD 0xc0000002,0x00000004,0x00000003,0x00000000
|
||||||
|
+%endif
|
||||||
|
diff --git a/src/spdk/isa-l/crc/crc32_ieee_by4.asm b/src/spdk/isa-l/crc/crc32_ieee_by4.asm
|
||||||
|
index 39bed5a..847d0bd 100644
|
||||||
|
--- a/src/spdk/isa-l/crc/crc32_ieee_by4.asm
|
||||||
|
+++ b/src/spdk/isa-l/crc/crc32_ieee_by4.asm
|
||||||
|
@@ -563,3 +563,12 @@ SHUF_MASK dq 0x08090A0B0C0D0E0F, 0x0001020304050607
|
||||||
|
|
||||||
|
;;; func core, ver, snum
|
||||||
|
slversion crc32_ieee_by4, 05, 02, 0017
|
||||||
|
+
|
||||||
|
+%ifidn __OUTPUT_FORMAT__, elf64
|
||||||
|
+; inform linker that this doesn't require executable stack
|
||||||
|
+section .note.GNU-stack noalloc noexec nowrite progbits
|
||||||
|
+; inform linker that this is compatible with IBT and SHSTK
|
||||||
|
+section .note.gnu.property note alloc noexec align=8
|
||||||
|
+DD 0x00000004,0x00000010,0x00000005,0x00554e47
|
||||||
|
+DD 0xc0000002,0x00000004,0x00000003,0x00000000
|
||||||
|
+%endif
|
||||||
|
diff --git a/src/spdk/isa-l/crc/crc32_iscsi_00.asm b/src/spdk/isa-l/crc/crc32_iscsi_00.asm
|
||||||
|
index 4f81e3a..3d6b2d1 100644
|
||||||
|
--- a/src/spdk/isa-l/crc/crc32_iscsi_00.asm
|
||||||
|
+++ b/src/spdk/isa-l/crc/crc32_iscsi_00.asm
|
||||||
|
@@ -669,3 +669,11 @@ DD 0x54851c7f,0x89e3d7c4,0xeba4fdf8,0x36c23643
|
||||||
|
;;; func core, ver, snum
|
||||||
|
slversion crc32_iscsi_00, 00, 04, 0014
|
||||||
|
|
||||||
|
+%ifidn __OUTPUT_FORMAT__, elf64
|
||||||
|
+; inform linker that this doesn't require executable stack
|
||||||
|
+section .note.GNU-stack noalloc noexec nowrite progbits
|
||||||
|
+; inform linker that this is compatible with IBT and SHSTK
|
||||||
|
+section .note.gnu.property note alloc noexec align=8
|
||||||
|
+DD 0x00000004,0x00000010,0x00000005,0x00554e47
|
||||||
|
+DD 0xc0000002,0x00000004,0x00000003,0x00000000
|
||||||
|
+%endif
|
||||||
|
diff --git a/src/spdk/isa-l/crc/crc32_iscsi_01.asm b/src/spdk/isa-l/crc/crc32_iscsi_01.asm
|
||||||
|
index 2a81517..c048413 100644
|
||||||
|
--- a/src/spdk/isa-l/crc/crc32_iscsi_01.asm
|
||||||
|
+++ b/src/spdk/isa-l/crc/crc32_iscsi_01.asm
|
||||||
|
@@ -588,3 +588,11 @@ K_table:
|
||||||
|
;;; func core, ver, snum
|
||||||
|
slversion crc32_iscsi_01, 01, 04, 0015
|
||||||
|
|
||||||
|
+%ifidn __OUTPUT_FORMAT__, elf64
|
||||||
|
+; inform linker that this doesn't require executable stack
|
||||||
|
+section .note.GNU-stack noalloc noexec nowrite progbits
|
||||||
|
+; inform linker that this is compatible with IBT and SHSTK
|
||||||
|
+section .note.gnu.property note alloc noexec align=8
|
||||||
|
+DD 0x00000004,0x00000010,0x00000005,0x00554e47
|
||||||
|
+DD 0xc0000002,0x00000004,0x00000003,0x00000000
|
||||||
|
+%endif
|
||||||
|
--
|
||||||
|
2.34.1
|
||||||
|
|
23
0016-src-tracing-patch
Normal file
23
0016-src-tracing-patch
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
--- ceph-16.2.6-681-gfdc003bc/src/tracing/bluestore.tp.orig 2021-12-07 08:02:04.682972474 -0500
|
||||||
|
+++ ceph-16.2.6-681-gfdc003bc/src/tracing/bluestore.tp 2021-12-07 08:03:13.840771852 -0500
|
||||||
|
@@ -1,3 +1,9 @@
|
||||||
|
+
|
||||||
|
+#ifdef __x86_64__
|
||||||
|
+#undef STAP_SDT_ARG_CONSTRAINT
|
||||||
|
+#define STAP_SDT_ARG_CONSTRAINT norx
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
#include "include/int_types.h"
|
||||||
|
|
||||||
|
TRACEPOINT_EVENT(bluestore, transaction_state_duration,
|
||||||
|
--- ceph-16.2.6-681-gfdc003bc/src/tracing/librbd.tp.orig 2021-12-07 09:50:16.467579483 -0500
|
||||||
|
+++ ceph-16.2.6-681-gfdc003bc/src/tracing/librbd.tp 2021-12-07 09:50:47.620026940 -0500
|
||||||
|
@@ -1,3 +1,8 @@
|
||||||
|
+#ifdef __x86_64__
|
||||||
|
+#undef STAP_SDT_ARG_CONSTRAINT
|
||||||
|
+#define STAP_SDT_ARG_CONSTRAINT norx
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
#include "tracing/tracing-common.h"
|
||||||
|
#include "include/rbd/librbd.h"
|
||||||
|
#include "include/int_types.h"
|
42
0017-gcc-12-omnibus.patch
Normal file
42
0017-gcc-12-omnibus.patch
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
--- 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 @@
|
||||||
|
return "crit";
|
||||||
|
default:
|
||||||
|
ceph_abort();
|
||||||
|
- return 0;
|
||||||
|
+ return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
--- 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
|
||||||
|
@@ -120,7 +120,7 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
void check_fp_oid_refcount(librados::IoCtx& ioctx, std::string foid, uint64_t count,
|
||||||
|
- std::string fp_algo = NULL)
|
||||||
|
+ std::string fp_algo = "")
|
||||||
|
{
|
||||||
|
bufferlist t;
|
||||||
|
int size = foid.length();
|
||||||
|
@@ -148,7 +148,7 @@
|
||||||
|
ASSERT_LE(count, refs.count());
|
||||||
|
}
|
||||||
|
|
||||||
|
-string get_fp_oid(string oid, std::string fp_algo = NULL)
|
||||||
|
+string get_fp_oid(string oid, std::string fp_algo = "")
|
||||||
|
{
|
||||||
|
if (fp_algo == "sha1") {
|
||||||
|
unsigned char fingerprint[CEPH_CRYPTO_SHA1_DIGESTSIZE + 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 @@
|
||||||
|
|
||||||
|
std::string print(int ident) override
|
||||||
|
{
|
||||||
|
- return std::string(0);
|
||||||
|
+ return std::string("");
|
||||||
|
}
|
||||||
|
|
||||||
|
void push_argument(base_statement* arg)
|
19
0018-src-rgw-store-dbstore-CMakeLists.txt.patch
Normal file
19
0018-src-rgw-store-dbstore-CMakeLists.txt.patch
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
--- 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/rgw"
|
||||||
|
PUBLIC "${CMAKE_SOURCE_DIR}/src/rgw/store/rados"
|
||||||
|
@@ -49,6 +49,7 @@
|
||||||
|
|
||||||
|
# add pthread library
|
||||||
|
set (CMAKE_LINK_LIBRARIES ${CMAKE_LINK_LIBRARIES} pthread)
|
||||||
|
+set (CMAKE_LINK_LIBRARIES ${CMAKE_LINK_LIBRARIES} global)
|
||||||
|
|
||||||
|
find_package(gtest QUIET)
|
||||||
|
if(WITH_TESTS)
|
@ -0,0 +1,11 @@
|
|||||||
|
--- ceph-17.1.0-175-g086c8f84/src/arrow/cpp/cmake_modules/ThirdpartyToolchain.cmake.orig 2022-04-08 11:27:53.593570634 -0400
|
||||||
|
+++ ceph-17.1.0-175-g086c8f84/src/arrow/cpp/cmake_modules/ThirdpartyToolchain.cmake 2022-04-08 11:28:20.778087653 -0400
|
||||||
|
@@ -1991,7 +1991,7 @@
|
||||||
|
|
||||||
|
if((NOT ARROW_SIMD_LEVEL STREQUAL "NONE") OR (NOT ARROW_RUNTIME_SIMD_LEVEL STREQUAL "NONE"
|
||||||
|
))
|
||||||
|
- set(xsimd_SOURCE "BUNDLED")
|
||||||
|
+ set(xsimd_SOURCE "SYSTEM")
|
||||||
|
resolve_dependency(xsimd)
|
||||||
|
# TODO: Don't use global includes but rather target_include_directories
|
||||||
|
include_directories(SYSTEM ${XSIMD_INCLUDE_DIR})
|
42
0024-gcc-13.patch
Normal file
42
0024-gcc-13.patch
Normal 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"
|
||||||
|
|
32
0025-src-osd-scrubber-scrub_backend.h.patch
Normal file
32
0025-src-osd-scrubber-scrub_backend.h.patch
Normal 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"
|
199
0026-src-osd-scrubber-scrub_backend.cc.patch
Normal file
199
0026-src-osd-scrubber-scrub_backend.cc.patch
Normal 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()) {
|
151
0027-src-kv-rocksdb_cache-ShardedCache.h.patch
Normal file
151
0027-src-kv-rocksdb_cache-ShardedCache.h.patch
Normal 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;
|
17
0029-src-rgw-rgw_amqp.cc.patch
Normal file
17
0029-src-rgw-rgw_amqp.cc.patch
Normal 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>
|
61
0030-src-rgw-rgw_asio_client.cc.patch
Normal file
61
0030-src-rgw-rgw_asio_client.cc.patch
Normal 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());
|
24
0032-cmake-modules-BuildBoost.cmake.patch
Normal file
24
0032-cmake-modules-BuildBoost.cmake.patch
Normal 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
61
0033-boost-asm.patch
Normal 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
|
24
0034-src-pybind-rbd-rbd.pyx.patch
Normal file
24
0034-src-pybind-rbd-rbd.pyx.patch
Normal 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
|
||||||
|
"""
|
18
0035-src-CMakeLists.txt.patch
Normal file
18
0035-src-CMakeLists.txt.patch
Normal 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)
|
13
cmake-modules-BuildBoost.cmake.noautopatch
Normal file
13
cmake-modules-BuildBoost.cmake.noautopatch
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
diff --git a/cmake/modules/BuildBoost.cmake b/cmake/modules/BuildBoost.cmake
|
||||||
|
index 2e92132366..3cb1e3d958 100644
|
||||||
|
--- a/cmake/modules/BuildBoost.cmake
|
||||||
|
+++ b/cmake/modules/BuildBoost.cmake
|
||||||
|
@@ -62,7 +62,7 @@ function(do_build_boost version)
|
||||||
|
else()
|
||||||
|
list(APPEND boost_features "address-model=32")
|
||||||
|
endif()
|
||||||
|
- set(BOOST_CXXFLAGS "-fPIC -w") # check on arm, etc <---XXX
|
||||||
|
+ set(BOOST_CXXFLAGS "-fPIC -w -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -ftemplate-depth-1024 -fno-new-ttp-matching -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free") # check on arm, etc <---XXX
|
||||||
|
list(APPEND boost_features "cxxflags=${BOOST_CXXFLAGS}")
|
||||||
|
|
||||||
|
set(boost_with_libs)
|
2
sources
2
sources
@ -1 +1 @@
|
|||||||
SHA512 (ceph-14.2.0.tar.gz) = c86a335714fd5678988133ec0e60cb10cd948250a133c073d1ed055c5bba232fa6f1e102dd7fcb0c70b37a07c9c2d1220d4a1713720e4dcab9659152ee577480
|
SHA512 (ceph-18.2.1.tar.gz) = 88e1c18bc6c824b6203cf026cca4c9409000e7cf5b2b986e22ab74d2790d8b93d91556bd3af15a320dbdd0cf2302308f0b2c75fd1243bc5a65f76fc6b3d70736
|
||||||
|
Loading…
Reference in New Issue
Block a user