Compare commits

..

90 Commits

Author SHA1 Message Date
Kaleb S. KEITHLEY 0d71ecf742 16.2.13 GA
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-05-09 19:29:18 -04:00
Kaleb S. KEITHLEY 2853c763e0 16.2.12 GA
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-04-13 14:50:43 -04:00
Kaleb S. KEITHLEY cebdc3ed9b 16.2.11 GA
elide __isa_bits == 32 test, haven't done 32-bit builds for some time,
  increase mem_per_process for ppc64le

Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-02-07 10:25:18 -05:00
Kaleb S. KEITHLEY a0f343dacb 16.2.11 GA
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-01-30 11:46:16 -05:00
Kaleb S. KEITHLEY 04dca0d9b7 16.2.11 GA
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-01-30 10:25:49 -05:00
Kaleb S. KEITHLEY b558ccc459 16.2.11 GA
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-01-30 09:56:37 -05:00
Kaleb S. KEITHLEY 8836dac402 Merge branch 'f36' of ssh://pkgs.fedoraproject.org/rpms/ceph into f36 2023-01-27 12:58:52 -05:00
Kaleb S. KEITHLEY 8702d50e90 16.2.11 GA
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2023-01-27 12:58:36 -05:00
Kaleb S. KEITHLEY dddd068bcd restore 0007-src-test-neorados-CMakeLists.txt.patch 2023-01-26 05:35:34 -05:00
Kaleb S. KEITHLEY dcb9370e41 rm obsolete patches 2022-08-18 14:51:26 -04:00
Kaleb S. KEITHLEY 45693aab3a 16.2.10 GA
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2022-07-23 06:04:05 -04:00
Kaleb S. KEITHLEY 0a7b6fd5ac 16.2.10 GA
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2022-07-22 08:33:00 -04:00
Kaleb S. KEITHLEY b752ae1064 16.2.10 GA
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2022-07-22 07:51:30 -04:00
Kaleb S. KEITHLEY 7f61cc5ff3 16.2.9 rhbz#2100237
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2022-06-22 15:47:31 -04:00
Robert-André Mauchin 12ba1019d7 Rebuilt for CVE-2022-1996, CVE-2022-24675, CVE-2022-28327, CVE-2022-27191, CVE-2022-29526, CVE-2022-30629 2022-06-22 17:48:23 +02:00
Kaleb S. KEITHLEY 1e08ffd52f 16.2.9 GA
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2022-05-19 08:50:13 -04:00
Kaleb S. KEITHLEY 343aca1734 16.2.8 GA
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2022-05-16 22:09:17 -04:00
Kaleb S. KEITHLEY 5e20b9c764 16.2.8 GA
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2022-05-16 22:07:50 -04:00
Kaleb S. KEITHLEY ff1c66c1f9 16.2.7, Boost license name
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2022-03-09 10:10:54 -05:00
Kaleb S. KEITHLEY 75119cc72f 16.2.7, Boost license name
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2022-03-09 07:24:44 -05:00
Kaleb S. KEITHLEY 6dfba46506 16.2.7, Boost license name
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2022-03-08 07:15:44 -05:00
Jiri 8c6b1da0a2 Rebuilt for java-17-openjdk as system jdk
https://fedoraproject.org/wiki/Changes/Java17
2022-02-05 21:26:28 +01:00
Kaleb S. KEITHLEY 1f11726563 16.2.7, python3.10 w/ __CHAR_UNSIGNED__ fix
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2022-02-02 08:28:01 -05:00
Kaleb S. KEITHLEY bba894de7e 16.2.7, build with modern linker (mold), x86_64 and aarch64
reenable ppc64le

Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2022-01-26 18:10:15 -05:00
Kaleb S. KEITHLEY 3715b23426 16.2.7, more CET enablement, rhbz#2040091
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2022-01-25 12:33:09 -05:00
Kaleb S. KEITHLEY f38d3f777f 16.2.7, rebuild with gcc-12, exclude ppc64le until fmt on ppc64le is fixed
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2022-01-24 08:16:44 -05:00
Kaleb S. KEITHLEY 0114881ab4 16.2.7, rebuild with gcc-12, exclude ppc64le until fmt on ppc64le is fixed
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2022-01-22 09:58:22 -05:00
Kaleb S. KEITHLEY a786ef1504 16.2.7, rebuild with gcc-12
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2022-01-21 16:48:02 -05:00
Kaleb S. KEITHLEY 2931b99be7 16.2.7, rebuild with gcc-12
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2022-01-20 07:26:11 -05:00
Kaleb S. KEITHLEY 70e587526e 16.2.7, rebuild with gcc-12
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2022-01-20 07:24:54 -05:00
Fedora Release Engineering 9c86a420ea - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-19 23:04:14 +00:00
Kaleb S. KEITHLEY 0c8ed285d3 16.2.7, rebuild with fmt-8.1.1
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2022-01-10 19:23:36 -05:00
Kaleb S. KEITHLEY ddbcb5d66f 16.2.7, LGPLv2.1 -> LGPLv2+, rhbz#2036035
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2021-12-29 11:07:42 -05:00
Kaleb S. KEITHLEY 8c750b960c 16.2.7 GA
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2021-12-07 22:13:27 -05:00
Mamoru TASAKA abdbef9e0e rebuild against new liblttng-ust 2021-11-02 21:39:46 +09:00
Kaleb S. KEITHLEY 43b4197d44 16.2.6, rebuild with rocksdb 6.25
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2021-10-19 10:26:09 -04:00
Kaleb S. KEITHLEY b0c18eeafc 16.2.6 GA
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2021-09-17 09:41:56 -04:00
Sahana Prasad 9c55220808 Rebuilt with OpenSSL 3.0.0 2021-09-14 18:59:27 +02:00
Kaleb S. KEITHLEY 8a6545912f Rebuilt for gtest 1.11.0
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2021-09-06 08:30:02 -04:00
Kaleb S. KEITHLEY e7a5495ba4 Rebuilt for rocksdb 6.22
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2021-08-26 13:22:25 -04:00
Kaleb S. KEITHLEY 7c50250c92 Rebuilt for rocksdb 6.22
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2021-08-26 07:04:44 -04:00
Kaleb S. KEITHLEY 1217c82a28 build with ninja, -DWITH_SYSTEM_ZSTD, without gdbm
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2021-08-17 17:50:59 -04:00
Kaleb S. KEITHLEY 8d6f5530e7 Rebuild for Boost 1.76 again
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2021-08-08 22:13:53 -04:00
Jonathan Wakely fe9cf79756 Rebuilt for Boost 1.76 2021-08-06 22:35:01 +01:00
Kaleb S. KEITHLEY 0d4b487537 Rebuild for leveldb-1.23-3 w/ reverted -fno-rtti
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2021-08-05 16:28:14 -04:00
Kaleb S. KEITHLEY 13c95af02e Rebuild for leveldb-1.23
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2021-08-03 13:08:40 -04:00
Fedora Release Engineering c8153cb68b - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-21 19:19:20 +00:00
Fedora Release Engineering a82adb1178 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-21 14:21:57 +00:00
Kaleb S. KEITHLEY 0da31a640b Rebuild for new fmt version.
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2021-07-08 18:24:00 -04:00
Kaleb S. KEITHLEY c5116a4d3d 16.2.5 GA
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2021-07-08 18:05:49 -04:00
Kaleb S. KEITHLEY f6c80111f0 Rebuild for new fmt version.
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2021-07-07 10:39:57 -04:00
Richard Shaw 65809728d6 Rebuild for new fmt version. 2021-07-05 07:41:14 -05:00
Kaleb S. KEITHLEY d7454e4e0a https://src.fedoraproject.org/rpms/ceph/pull-request/3#
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2021-06-11 10:19:25 -04:00
Python Maint 804031cde8 Rebuilt for Python 3.10 2021-06-04 20:01:32 +02:00
Kaleb S. KEITHLEY f126724be1 16.2.4, bz 1964858, snappy::uint32
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2021-05-26 09:19:20 -04:00
Pete Walter 9e94fbdfaf Rebuild for ICU 69 2021-05-20 00:55:34 +01:00
Kaleb S. KEITHLEY b070296ace 16.2.4 GA
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2021-05-13 20:55:38 -04:00
Kaleb S. KEITHLEY 98f7173b37 16.2.3 GA
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2021-05-06 16:02:41 -04:00
Kaleb S. KEITHLEY 4bd118debc 16.2.2 GA
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@f34node1.kkeithle.usersys.redhat.com>
2021-05-05 17:06:40 -04:00
Kaleb S. KEITHLEY 78e076b5af 16.2.1 GA
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2021-04-20 08:34:14 -04:00
Richard W.M. Jones 976474060f Rebuild for updated liburing. 2021-04-14 10:22:45 +01:00
Kaleb S. KEITHLEY d60970c7cd 16.2.0, libamqp_mock fix (FTBFS, #1947281), rgw fix
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2021-04-10 08:12:36 -04:00
Kaleb S. KEITHLEY 4a2e67ce27 16.2.0 GA
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2021-03-31 16:49:10 -04:00
Jonathan Wakely 5cee54462c Rebuilt for removed libstdc++ symbol (#1937698) 2021-03-30 19:35:23 +01:00
Kaleb S. KEITHLEY 5e9e44ba9d 16.1.0 RC
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2021-03-25 19:49:46 -04:00
Kaleb S. KEITHLEY 03686a5492 16.1.0 RC (ceph-16.1.0-944-ge53ee8bd plus fix trailing slash bluestore)
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2021-03-23 13:51:40 -04:00
Kaleb S. KEITHLEY c4b36fdbe9 16.1.0 RC (ceph-16.1.0-944-ge53ee8bd plus fix trailing slash bluestore)
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2021-03-23 09:25:37 -04:00
Kaleb S. KEITHLEY ba585a6512 16.1.0 RC (ceph-16.1.0-944-ge53ee8bd)
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2021-03-20 06:06:26 -04:00
Kaleb S. KEITHLEY 3aa610e268 16.1.0 RC (ceph-16.1.0-944-ge53ee8bd)
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2021-03-20 05:49:12 -04:00
Kaleb S. KEITHLEY af4b4952f8 16.1.0 RC (ceph-16.1.0-308-gabe639eb)
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2021-03-19 20:23:47 -04:00
Kaleb S. KEITHLEY cbed2814c2 16.1.0 RC (ceph-16.1.0-308-gabe639eb)
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2021-03-19 20:12:48 -04:00
Kaleb S. KEITHLEY 92605c05f0 16.1.0 RC (ceph-16.1.0-922-ge6063369)
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2021-03-19 19:59:04 -04:00
Kaleb S. KEITHLEY fc46f52db9 16.1.0 RC (ceph-16.1.0-922-ge6063369)
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2021-03-19 19:42:08 -04:00
Kaleb S. KEITHLEY 7ccae1fdf3 ceph 16.1.0 RC (ceph-16.1.0-308-gabe639eb)
rpmbuild apparently unable to automatically derive 'Requires: rocksdb' from 'BuildRequires: rocksdb-devel' for librocksdb.so.6.13

Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2021-03-05 15:12:02 -05:00
Kaleb S. KEITHLEY 1fdc7e124d ceph 16.1.0 RC (ceph-16.1.0-308-gabe639eb)
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2021-02-22 12:55:04 -05:00
Kaleb S. KEITHLEY be247e2321 ceph 16.1.0 RC (ceph-16.1.0-308-gabe639eb)
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2021-02-22 06:27:19 -05:00
Kaleb S. KEITHLEY 7d89214d12 ceph 16.1.0 RC (ceph-16.1.0-308-gabe639eb)
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2021-02-21 08:16:00 -05:00
Kaleb S. KEITHLEY 189f095ebc rocksdb not available in el8+, use bundled rocksdb
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2021-02-19 15:29:44 -05:00
Kaleb S. KEITHLEY a7b4842132 rocksdb not available in el8+, use bundled rocksdb
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2021-02-04 16:28:55 -05:00
Kaleb S. KEITHLEY 07c18dd027 rocksdb not available in el8+, use bundled rocksdb
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2021-02-04 11:08:44 -05:00
Kaleb S. KEITHLEY 415b03ce74 libblk.so -> libblk.a
libneoradostest-support.so -> libneoradostest-support.a
w/ liburing-devel, -DWITH_SYSTEM_LIBURING
w/ rocksdb-devel, -DWITH_SYSTEM_LIBURING

Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2021-02-03 17:22:19 -05:00
Kaleb S. KEITHLEY 3d9c93f7ab libblk.so -> libblk.a
libneoradostest-support.so -> libneoradostest-support.a
w/ liburing-devel, -DWITH_SYSTEM_LIBURING
w/ rocksdb-devel, -DWITH_SYSTEM_LIBURING

Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2021-02-01 11:26:09 -05:00
Kaleb S. KEITHLEY 59dc7d2595 ceph 16.1.0 RC (ceph-16.1.0-43-g6b74fb5c)
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2021-01-29 11:38:23 -05:00
Kaleb S. KEITHLEY bf4b7aed66 ceph 16.1.0 RC (ceph-16.1.0-43-g6b74fb5c)
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2021-01-29 11:35:03 -05:00
Kaleb S KEITHLEY 501243427a rebuilt with system Boost
Signed-off-by: Kaleb S KEITHLEY <kkeithle@redhat.com>
2021-01-25 18:14:45 -05:00
Kaleb S KEITHLEY 9e63d61879 rebuilt with bundled Boost 2021-01-22 15:40:08 -05:00
Jonathan Wakely 19975cf06e Rebuilt for Boost 1.75 2021-01-22 16:34:27 +00:00
Kaleb S KEITHLEY 7b01ed79a0 ceph 15.2.8, %changelog date
Signed-off-by: Kaleb S KEITHLEY <kkeithle@redhat.com>
2021-01-08 11:57:54 -05:00
Kaleb S KEITHLEY f871a2726e ceph 15.2.8, fuse3-devel
Signed-off-by: Kaleb S KEITHLEY <kkeithle@redhat.com>
2021-01-07 09:41:48 -05:00
Kaleb S KEITHLEY f52ea67e29 ceph 15.2.8 GA
Signed-off-by: Kaleb S KEITHLEY <kkeithle@redhat.com>
2021-01-04 21:12:08 -05:00
16 changed files with 1320 additions and 406 deletions
-173
View File
@@ -1,176 +1,3 @@
--- ceph-15.2.4/src/yasm-wrapper.orig 2020-06-30 11:40:51.000000000 -0400
+++ ceph-15.2.4/src/yasm-wrapper 2020-07-20 12:21:34.574980869 -0400
@@ -1,10 +1,11 @@
-#!/bin/sh -e
+#!/bin/sh
# libtool and yasm do not get along.
# filter out any crap that libtool feeds us that yasm does not understand.
#echo $0: got $*
new=""
touch=""
+object=""
while [ -n "$*" ]; do
case "$1" in
-f )
@@ -29,6 +30,12 @@
touch="$1"
shift
;;
+ -o )
+ shift
+ object="$1"
+ new="$new -o $1"
+ shift
+ ;;
* )
new="$new $1"
shift
@@ -36,8 +43,15 @@
esac
done
-#echo $0: yasm $new
-yasm $new
+#echo ${0}: yasm ${new}
+yasm ${new}
+
+echo ${new} | grep -- "crc32c_intel_fast*asm\.s"
+if [ $? -ne 0 ]; then
+ touch /tmp/${object}
+ ld -r -z ibt -z shstk -z noexecstack -o ${object}.tmp ${object}
+ mv ${object}.tmp ${object}
+fi
[ -n "$touch" ] && touch $touch
--- ceph-15.2.2/src/common/crc32c_intel_fast_asm.s.orig 2020-05-26 08:34:32.226201974 -0400
+++ ceph-15.2.2/src/common/crc32c_intel_fast_asm.s 2020-05-26 17:19:20.327201974 -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,16 +59,34 @@
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+i + 0*%%bSize] ;; update crc0
- crc32 rbx, [bufptmp+i + 1*%%bSize] ;; update crc1
- crc32 r10, [bufptmp+i + 2*%%bSize] ;; update crc2
+ %if i < %%bSize*3/4
+ prefetchnta [bufptmp+ %%bSize*3 + i*4]
+ %endif
+ crc32 rax, qword [bufptmp+i + 0*%%bSize] ;; update crc0
+ crc32 rbx, qword [bufptmp+i + 1*%%bSize] ;; update crc1
+ crc32 r10, qword [bufptmp+i + 2*%%bSize] ;; update crc2
%assign i (i+8)
%endrep
- crc32 rax, [bufptmp+i + 0*%%bSize] ;; update crc0
- crc32 rbx, [bufptmp+i + 1*%%bSize] ;; update crc1
-; SKIP ;crc32 r10, [bufptmp+i + 2*%%bSize] ;; update crc2
+ jmp %%next %+ %1
+
+%%non_prefetch:
+ %assign i 0
+ %rep %%bSize/8 - 1
+ crc32 rax, qword [bufptmp+i + 0*%%bSize] ;; update crc0
+ crc32 rbx, qword [bufptmp+i + 1*%%bSize] ;; update crc1
+ crc32 r10, qword [bufptmp+i + 2*%%bSize] ;; update crc2
+ %assign i (i+8)
+ %endrep
+
+%%next %+ %1:
+ crc32 rax, qword [bufptmp+i + 0*%%bSize] ;; update crc0
+ crc32 rbx, qword [bufptmp+i + 1*%%bSize] ;; update crc1
+; SKIP ;crc32 r10, qword [bufptmp+i + 2*%%bSize] ;; update crc2
; merge in crc0
movzx bufp_dw, al
@@ -180,12 +198,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: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -195,9 +216,6 @@
;; amount of the address
je proc_block ;; Skip if aligned
- cmp len, 8
- jb less_than_8
-
;;;; Calculate CRC of unaligned bytes of the buffer (if any) ;;;;
mov rbx, [bufptmp] ;; load a quadword from the buffer
add bufptmp, bufp ;; align buffer pointer for
@@ -233,7 +251,7 @@
jnc bit7 ;; jump to bit-6 if bit-7 == 0
%assign i 0
%rep 16
- crc32 rax, [bufptmp+i] ;; compute crc32 of 8-byte data
+ crc32 rax, qword [bufptmp+i] ;; compute crc32 of 8-byte data
%assign i (i+8)
%endrep
je do_return ;; return if remaining data is zero
@@ -244,7 +262,7 @@
jnc bit6 ;; jump to bit-6 if bit-7 == 0
%assign i 0
%rep 8
- crc32 rax, [bufptmp+i] ;; compute crc32 of 8-byte data
+ crc32 rax, qword [bufptmp+i] ;; compute crc32 of 8-byte data
%assign i (i+8)
%endrep
je do_return ;; return if remaining data is zero
@@ -254,7 +272,7 @@
jnc bit5 ;; jump to bit-5 if bit-6 == 0
%assign i 0
%rep 4
- crc32 rax, [bufptmp+i] ;; compute crc32 of 8-byte data
+ crc32 rax, qword [bufptmp+i] ;; compute crc32 of 8-byte data
%assign i (i+8)
%endrep
je do_return ;; return if remaining data is zero
@@ -264,7 +282,7 @@
jnc bit4 ;; jump to bit-4 if bit-5 == 0
%assign i 0
%rep 2
- crc32 rax, [bufptmp+i] ;; compute crc32 of 8-byte data
+ crc32 rax, qword [bufptmp+i] ;; compute crc32 of 8-byte data
%assign i (i+8)
%endrep
je do_return ;; return if remaining data is zero
@@ -272,11 +290,11 @@
bit4:
shl len_b, 1 ;; shift-out MSB (bit-4)
jnc bit3 ;; jump to bit-3 if bit-4 == 0
- crc32 rax, [bufptmp] ;; compute crc32 of 8-byte data
+ crc32 rax, qword [bufptmp] ;; compute crc32 of 8-byte data
je do_return ;; return if remaining data is zero
add bufptmp, 8 ;; buf +=8; (next 8 bytes)
bit3:
- mov rbx, [bufptmp] ;; load a 8-bytes from the buffer:
+ mov rbx, qword [bufptmp] ;; load a 8-bytes from the buffer:
shl len_b, 1 ;; shift-out MSB (bit-3)
jnc bit2 ;; jump to bit-2 if bit-3 == 0
crc32 eax, ebx ;; compute crc32 of 4-byte data
--- 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 @@
-13
View File
@@ -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}")
@@ -0,0 +1,11 @@
--- ceph-16.1.0-43-g6b74fb5c/src/test/neorados/CMakeLists.txt.orig 2021-02-01 08:25:18.006965821 -0500
+++ ceph-16.1.0-43-g6b74fb5c/src/test/neorados/CMakeLists.txt 2021-02-01 08:25:34.244407147 -0500
@@ -19,7 +19,7 @@
target_link_libraries(ceph_test_neorados_op_speed
libneorados fmt::fmt ${unittest_libs})
-add_library(neoradostest-support common_tests.cc)
+add_library(neoradostest-support STATIC common_tests.cc)
target_link_libraries(neoradostest-support
libneorados fmt::fmt)
+11
View 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,63 @@
From 178f6bdac97b57300bbe0956633cf686a7e3ccee Mon Sep 17 00:00:00 2001
From: Yuval Lifshitz <ylifshit@redhat.com>
Date: Fri, 12 Mar 2021 08:56:45 +0200
Subject: [PATCH] librgw/notifications: initialize kafka and amqp
Fixes: https://tracker.ceph.com/issues/49738
Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
---
src/rgw/librgw.cc | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
diff --git a/src/rgw/librgw.cc b/src/rgw/librgw.cc
index 012cc54c3b..a5351dbe7c 100644
--- a/src/rgw/librgw.cc
+++ b/src/rgw/librgw.cc
@@ -53,6 +53,12 @@
#include "rgw_http_client.h"
#include "rgw_http_client_curl.h"
#include "rgw_perf_counters.h"
+#ifdef WITH_RADOSGW_AMQP_ENDPOINT
+#include "rgw_amqp.h"
+#endif
+#ifdef WITH_RADOSGW_KAFKA_ENDPOINT
+#include "rgw_kafka.h"
+#endif
#include "services/svc_zone.h"
@@ -617,6 +623,17 @@ namespace rgw {
/* ignore error */
}
+#ifdef WITH_RADOSGW_AMQP_ENDPOINT
+ if (!rgw::amqp::init(cct.get())) {
+ derr << "ERROR: failed to initialize AMQP manager" << dendl;
+ }
+#endif
+#ifdef WITH_RADOSGW_KAFKA_ENDPOINT
+ if (!rgw::kafka::init(cct.get())) {
+ derr << "ERROR: failed to initialize Kafka manager" << dendl;
+ }
+#endif
+
return 0;
} /* RGWLib::init() */
@@ -645,6 +662,12 @@ namespace rgw {
rgw_shutdown_resolver();
rgw_http_client_cleanup();
rgw::curl::cleanup_curl();
+#ifdef WITH_RADOSGW_AMQP_ENDPOINT
+ rgw::amqp::shutdown();
+#endif
+#ifdef WITH_RADOSGW_KAFKA_ENDPOINT
+ rgw::kafka::shutdown();
+#endif
rgw_perf_stop(g_ceph_context);
--
2.26.2
@@ -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
@@ -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
@@ -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
@@ -0,0 +1,13 @@
diff --git a/src/rgw/rgw_string.h b/src/rgw/rgw_string.h
index 257daa9c1fe..90e64f98a25 100644
--- a/src/rgw/rgw_string.h
+++ b/src/rgw/rgw_string.h
@@ -8,6 +8,8 @@
#include <stdlib.h>
#include <limits.h>
#include <string_view>
+#include <string>
+#include <stdexcept>
#include <boost/container/small_vector.hpp>
+296
View File
@@ -0,0 +1,296 @@
diff --git a/src/kv/rocksdb_cache/BinnedLRUCache.cc b/src/kv/rocksdb_cache/BinnedLRUCache.cc
index 0d657883e92de..47c56e2ddd769 100644
--- a/src/kv/rocksdb_cache/BinnedLRUCache.cc
+++ b/src/kv/rocksdb_cache/BinnedLRUCache.cc
@@ -151,13 +151,20 @@ void BinnedLRUCacheShard::EraseUnRefEntries() {
}
}
-void BinnedLRUCacheShard::ApplyToAllCacheEntries(void (*callback)(void*, size_t),
- bool thread_safe) {
+void BinnedLRUCacheShard::ApplyToAllCacheEntries(
+ const std::function<void(const rocksdb::Slice& key,
+ void* value,
+ size_t charge,
+ DeleterFn)>& callback,
+ bool thread_safe)
+{
if (thread_safe) {
mutex_.lock();
}
table_.ApplyToAllCacheEntries(
- [callback](BinnedLRUHandle* h) { callback(h->value, h->charge); });
+ [callback](BinnedLRUHandle* h) {
+ callback(h->key(), h->value, h->charge, h->deleter);
+ });
if (thread_safe) {
mutex_.unlock();
}
@@ -345,7 +352,7 @@ bool BinnedLRUCacheShard::Release(rocksdb::Cache::Handle* handle, bool force_era
rocksdb::Status BinnedLRUCacheShard::Insert(const rocksdb::Slice& key, uint32_t hash, void* value,
size_t charge,
- void (*deleter)(const rocksdb::Slice& key, void* value),
+ DeleterFn deleter,
rocksdb::Cache::Handle** handle, rocksdb::Cache::Priority priority) {
auto e = new BinnedLRUHandle();
rocksdb::Status s;
@@ -464,6 +471,12 @@ std::string BinnedLRUCacheShard::GetPrintableOptions() const {
return std::string(buffer);
}
+DeleterFn BinnedLRUCacheShard::GetDeleter(rocksdb::Cache::Handle* h) const
+{
+ auto* handle = reinterpret_cast<BinnedLRUHandle*>(h);
+ return handle->deleter;
+}
+
BinnedLRUCache::BinnedLRUCache(CephContext *c,
size_t capacity,
int num_shard_bits,
@@ -519,6 +532,13 @@ void BinnedLRUCache::DisownData() {
#endif // !__SANITIZE_ADDRESS__
}
+#if (ROCKSDB_MAJOR >= 6 && ROCKSDB_MINOR >= 22)
+DeleterFn BinnedLRUCache::GetDeleter(Handle* handle) const
+{
+ return reinterpret_cast<const BinnedLRUHandle*>(handle)->deleter;
+}
+#endif
+
size_t BinnedLRUCache::TEST_GetLRUSize() {
size_t lru_size_of_all_shards = 0;
for (int i = 0; i < num_shards_; i++) {
diff --git a/src/kv/rocksdb_cache/BinnedLRUCache.h b/src/kv/rocksdb_cache/BinnedLRUCache.h
index 85608be0e5734..88bf4502e8927 100644
--- a/src/kv/rocksdb_cache/BinnedLRUCache.h
+++ b/src/kv/rocksdb_cache/BinnedLRUCache.h
@@ -56,7 +56,7 @@ std::shared_ptr<rocksdb::Cache> NewBinnedLRUCache(
struct BinnedLRUHandle {
void* value;
- void (*deleter)(const rocksdb::Slice&, void* value);
+ DeleterFn deleter;
BinnedLRUHandle* next_hash;
BinnedLRUHandle* next;
BinnedLRUHandle* prev;
@@ -189,7 +189,7 @@ class alignas(CACHE_LINE_SIZE) BinnedLRUCacheShard : public CacheShard {
// Like Cache methods, but with an extra "hash" parameter.
virtual rocksdb::Status Insert(const rocksdb::Slice& key, uint32_t hash, void* value,
size_t charge,
- void (*deleter)(const rocksdb::Slice& key, void* value),
+ DeleterFn deleter,
rocksdb::Cache::Handle** handle,
rocksdb::Cache::Priority priority) override;
virtual rocksdb::Cache::Handle* Lookup(const rocksdb::Slice& key, uint32_t hash) override;
@@ -205,13 +205,19 @@ class alignas(CACHE_LINE_SIZE) BinnedLRUCacheShard : public CacheShard {
virtual size_t GetUsage() const override;
virtual size_t GetPinnedUsage() const override;
- virtual void ApplyToAllCacheEntries(void (*callback)(void*, size_t),
- bool thread_safe) override;
+ virtual void ApplyToAllCacheEntries(
+ const std::function<void(const rocksdb::Slice& key,
+ void* value,
+ size_t charge,
+ DeleterFn)>& callback,
+ bool thread_safe) override;
virtual void EraseUnRefEntries() override;
virtual std::string GetPrintableOptions() const override;
+ virtual DeleterFn GetDeleter(rocksdb::Cache::Handle* handle) const override;
+
void TEST_GetLRUList(BinnedLRUHandle** lru, BinnedLRUHandle** lru_low_pri);
// Retrieves number of elements in LRU, for unit test purpose only
@@ -304,7 +310,9 @@ class BinnedLRUCache : public ShardedCache {
virtual size_t GetCharge(Handle* handle) const override;
virtual uint32_t GetHash(Handle* handle) const override;
virtual void DisownData() override;
-
+#if (ROCKSDB_MAJOR >= 6 && ROCKSDB_MINOR >= 22)
+ virtual DeleterFn GetDeleter(Handle* handle) const override;
+#endif
// Retrieves number of elements in LRU, for unit test purpose only
size_t TEST_GetLRUSize();
// Sets the high pri pool ratio
diff --git a/src/kv/rocksdb_cache/ShardedCache.cc b/src/kv/rocksdb_cache/ShardedCache.cc
index 367140a94d8be..6cbd89ad6472c 100644
--- a/src/kv/rocksdb_cache/ShardedCache.cc
+++ b/src/kv/rocksdb_cache/ShardedCache.cc
@@ -44,7 +44,7 @@ void ShardedCache::SetStrictCapacityLimit(bool strict_capacity_limit) {
}
rocksdb::Status ShardedCache::Insert(const rocksdb::Slice& key, void* value, size_t charge,
- void (*deleter)(const rocksdb::Slice& key, void* value),
+ DeleterFn deleter,
rocksdb::Cache::Handle** handle, Priority priority) {
uint32_t hash = HashSlice(key);
return GetShard(Shard(hash))
@@ -109,13 +109,36 @@ size_t ShardedCache::GetPinnedUsage() const {
return usage;
}
+#if (ROCKSDB_MAJOR >= 6 && ROCKSDB_MINOR >= 22)
+DeleterFn ShardedCache::GetDeleter(Handle* handle) const
+{
+ uint32_t hash = GetHash(handle);
+ return GetShard(Shard(hash))->GetDeleter(handle);
+}
+
+void ShardedCache::ApplyToAllEntries(
+ const std::function<void(const rocksdb::Slice& key, void* value, size_t charge,
+ DeleterFn deleter)>& callback,
+ const ApplyToAllEntriesOptions& opts)
+{
+ int num_shards = 1 << num_shard_bits_;
+ for (int s = 0; s < num_shards; s++) {
+ GetShard(s)->ApplyToAllCacheEntries(callback, true /* thread_safe */);
+ }
+}
+#else
void ShardedCache::ApplyToAllCacheEntries(void (*callback)(void*, size_t),
bool thread_safe) {
int num_shards = 1 << num_shard_bits_;
for (int s = 0; s < num_shards; s++) {
- GetShard(s)->ApplyToAllCacheEntries(callback, thread_safe);
+ GetShard(s)->ApplyToAllCacheEntries(
+ [callback](const rocksdb::Slice&, void* value, size_t charge, DeleterFn) {
+ callback(value, charge);
+ },
+ thread_safe);
}
}
+#endif
void ShardedCache::EraseUnRefEntries() {
int num_shards = 1 << num_shard_bits_;
@@ -131,7 +154,7 @@ std::string ShardedCache::GetPrintableOptions() const {
char buffer[kBufferSize];
{
std::lock_guard<std::mutex> l(capacity_mutex_);
- snprintf(buffer, kBufferSize, " capacity : %" ROCKSDB_PRIszt "\n",
+ snprintf(buffer, kBufferSize, " capacity : %zu\n",
capacity_);
ret.append(buffer);
snprintf(buffer, kBufferSize, " num_shard_bits : %d\n", num_shard_bits_);
diff --git a/src/kv/rocksdb_cache/ShardedCache.h b/src/kv/rocksdb_cache/ShardedCache.h
index 4d64893ab1c7b..f98421a09a33a 100644
--- a/src/kv/rocksdb_cache/ShardedCache.h
+++ b/src/kv/rocksdb_cache/ShardedCache.h
@@ -14,6 +14,7 @@
#include <string>
#include <mutex>
+#include "rocksdb/version.h"
#include "rocksdb/cache.h"
#include "include/ceph_hash.h"
#include "common/PriorityCache.h"
@@ -22,10 +23,11 @@
#ifndef CACHE_LINE_SIZE
#define CACHE_LINE_SIZE 64 // XXX arch-specific define
#endif
-#define ROCKSDB_PRIszt "zu"
namespace rocksdb_cache {
+using DeleterFn = void (*)(const rocksdb::Slice& key, void* value);
+
// Single cache shard interface.
class CacheShard {
public:
@@ -34,7 +36,7 @@ class CacheShard {
virtual rocksdb::Status Insert(const rocksdb::Slice& key, uint32_t hash, void* value,
size_t charge,
- void (*deleter)(const rocksdb::Slice& key, void* value),
+ 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 bool Ref(rocksdb::Cache::Handle* handle) = 0;
@@ -44,10 +46,15 @@ class CacheShard {
virtual void SetStrictCapacityLimit(bool strict_capacity_limit) = 0;
virtual size_t GetUsage() const = 0;
virtual size_t GetPinnedUsage() const = 0;
- virtual void ApplyToAllCacheEntries(void (*callback)(void*, size_t),
- bool thread_safe) = 0;
+ virtual void ApplyToAllCacheEntries(
+ const std::function<void(const rocksdb::Slice& key,
+ void* value,
+ size_t charge,
+ DeleterFn)>& callback,
+ bool thread_safe) = 0;
virtual void EraseUnRefEntries() = 0;
virtual std::string GetPrintableOptions() const { return ""; }
+ virtual DeleterFn GetDeleter(rocksdb::Cache::Handle* handle) const = 0;
};
// Generic cache interface which shards cache by hash of keys. 2^num_shard_bits
@@ -57,34 +64,43 @@ class ShardedCache : public rocksdb::Cache, public PriorityCache::PriCache {
public:
ShardedCache(size_t capacity, int num_shard_bits, bool strict_capacity_limit);
virtual ~ShardedCache() = default;
+ // rocksdb::Cache
virtual const char* Name() const override = 0;
- virtual CacheShard* GetShard(int shard) = 0;
- virtual const CacheShard* GetShard(int shard) const = 0;
- virtual void* Value(Handle* handle) override = 0;
- virtual size_t GetCharge(Handle* handle) const = 0;
- virtual uint32_t GetHash(Handle* handle) const = 0;
- virtual void DisownData() override = 0;
-
- virtual void SetCapacity(size_t capacity) override;
- virtual void SetStrictCapacityLimit(bool strict_capacity_limit) override;
-
virtual rocksdb::Status Insert(const rocksdb::Slice& key, void* value, size_t charge,
- void (*deleter)(const rocksdb::Slice& key, void* value),
+ DeleterFn,
rocksdb::Cache::Handle** handle, Priority priority) override;
virtual rocksdb::Cache::Handle* Lookup(const rocksdb::Slice& key, rocksdb::Statistics* stats) override;
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;
virtual void Erase(const rocksdb::Slice& key) override;
virtual uint64_t NewId() override;
- virtual size_t GetCapacity() const override;
+ virtual void SetCapacity(size_t capacity) override;
+ virtual void SetStrictCapacityLimit(bool strict_capacity_limit) override;
virtual bool HasStrictCapacityLimit() const override;
+ virtual size_t GetCapacity() const override;
virtual size_t GetUsage() const override;
virtual size_t GetUsage(rocksdb::Cache::Handle* handle) const override;
virtual size_t GetPinnedUsage() const override;
+ virtual size_t GetCharge(Handle* handle) const = 0;
+#if (ROCKSDB_MAJOR >= 6 && ROCKSDB_MINOR >= 22)
+ virtual DeleterFn GetDeleter(Handle* handle) const override;
+#endif
+ virtual void DisownData() override = 0;
+#if (ROCKSDB_MAJOR >= 6 && ROCKSDB_MINOR >= 22)
+ virtual void ApplyToAllEntries(
+ const std::function<void(const rocksdb::Slice& key, void* value, size_t charge,
+ DeleterFn deleter)>& callback,
+ const ApplyToAllEntriesOptions& opts) override;
+#else
virtual void ApplyToAllCacheEntries(void (*callback)(void*, size_t),
bool thread_safe) override;
+#endif
virtual void EraseUnRefEntries() override;
virtual std::string GetPrintableOptions() const override;
+ virtual CacheShard* GetShard(int shard) = 0;
+ virtual const CacheShard* GetShard(int shard) const = 0;
+ virtual uint32_t GetHash(Handle* handle) const = 0;
int GetNumShardBits() const { return num_shard_bits_; }
@@ -120,7 +136,7 @@ class ShardedCache : public rocksdb::Cache, public PriorityCache::PriCache {
// return Hash(s.data(), s.size(), 0);
}
- uint32_t Shard(uint32_t hash) {
+ uint32_t Shard(uint32_t hash) const {
// Note, hash >> 32 yields hash in gcc, not the zero we expect!
return (num_shard_bits_ > 0) ? (hash >> (32 - num_shard_bits_)) : 0;
}
+23
View 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"
+63
View File
@@ -0,0 +1,63 @@
--- 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 @@
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
@@ -114,7 +114,7 @@
#include "rgw/rgw_common.h"
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();
@@ -142,7 +142,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-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-16.2.7/src/s3select/include/s3select_functions.h.orig 2022-01-19 15:06:45.312783565 -0500
+++ ceph-16.2.7/src/s3select/include/s3select_functions.h 2022-01-19 15:08:17.270087590 -0500
@@ -142,7 +142,7 @@
virtual std::string print(int ident)
{
- return std::string(0);
+ return std::string("");
}
void push_argument(base_statement* arg)
+12
View File
@@ -0,0 +1,12 @@
--- ceph-16.2.11/src/test/CMakeLists.txt.orig 2023-01-27 09:08:53.899536043 -0500
+++ ceph-16.2.11/src/test/CMakeLists.txt 2023-01-27 09:09:28.245931182 -0500
@@ -83,6 +83,9 @@
if(WITH_RADOSGW_KAFKA_ENDPOINT)
list(APPEND rgw_libs kafka_stub)
endif()
+ if(WITH_RADOSGW_LUA_PACKAGES)
+ list(APPEND rgw_libs Boost::filesystem)
+ endif()
add_subdirectory(rgw)
endif(WITH_RADOSGW)
if(WITH_RBD AND NOT WIN32)
@@ -0,0 +1,10 @@
--- 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
@@ -21,6 +21,7 @@
// 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) __attribute__ ((used));
bool atomic16(std::atomic<unsigned __int128> *ptr)
{
return *ptr != 0;
+518 -219
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1 +1 @@
SHA512 (ceph-15.2.15.tar.gz) = e4d929ffda5c3e31767d93340fb97b5d49ca1d5641f6c30134ce5542486fc4f72684aef2ef47cb940a332e8b9144d8cec63ce8a9f86c773dbc0ccebdd8e7fb19
SHA512 (ceph-16.2.13.tar.gz) = 39ec2bed1de0276f08bf93241f9fb275893041fd5f20ade75e68728107011ae5d01aed532d5afd8805951d09061a5a3d96c4311701c8897a29668f77126c19ab