Compare commits

..

22 Commits

Author SHA1 Message Date
Boris Ranto 94b937a7b4 New version (1:0.94.7-1)
- Disable erasure_codelib neon build
- init-ceph.in: Allow custom cluster names during startup.
- Apply 'ceph-0.94.1-tcmalloc.patch'
- Apply 'init-ceph.in-fedora.patch'
2016-05-16 15:54:25 +02:00
Boris Ranto 109b076cb0 Rebase to version 0.94.6 2016-02-23 20:19:04 +01:00
Boris Ranto 3bd965f1b9 Allow setting custom cluster names in init script
Also, remove unused patch file.

Resolves: rhbz#1269436
2015-12-09 13:50:04 +01:00
Boris Ranto 5d0f0722ed Rebase to latest upstream version (0.94.5) 2015-10-27 16:06:00 +01:00
Boris Ranto c5765fadbd Post-rebase fix-up
The init-radosgw.sysv file was renamed to init-radosgw file in 0.94.4.
2015-10-20 14:50:41 +02:00
Boris Ranto a402d0ab0e Rebase to latest upstream version (0.94.4)
The rtdsc patch got merged upstream and is already present in the release
2015-10-20 14:50:33 +02:00
Jonathan Wakely f07c72f3c4 Rebuilt for Boost 1.59 2015-10-20 14:50:23 +02:00
Boris Ranto b08d960589 Fix file list after rebase
Resolves: rhbz#1257374
2015-08-28 09:44:37 +02:00
Boris Ranto db6fdb3f16 Rebase to latest upstream version (0.94.3)
Resolves: rhbz#1257374
2015-08-27 14:29:43 +02:00
Richard W.M. Jones 99c1224b45 Fix build against boost 1.58 (http://tracker.ceph.com/issues/11576). 2015-08-27 14:29:37 +02:00
Dennis Gilmore b16dca6d95 - Rebuilt for https://fedoraproject.org/wiki/Changes/F23Boost159 2015-08-27 14:29:28 +02:00
David Tardon b8472782c8 rebuild for Boost 1.58 2015-08-27 14:29:12 +02:00
Boris Ranto 62e994c2c7 Rebase to latest upstream version (0.94.2)
Resolves: rhbz#1229924
2015-07-16 14:22:44 +02:00
Dennis Gilmore 155d784b79 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild 2015-07-16 14:22:36 +02:00
Dan Horák b19b3aa9da - fix build on s390(x) - no gperftools there 2015-06-08 17:43:38 +02:00
Boris Ranto b12af0ad46 Disable lttng support
Resolves: rhbz#1223319
2015-05-21 11:05:07 +02:00
Boris Ranto af0a1d434b Fix arm linking issue
Resolves: rhbz#1222286
2015-05-18 20:35:31 +02:00
Boris Ranto f5efd94d7b Fix arm compilation issues 2015-04-16 13:09:24 +02:00
Boris Ranto b1fc920eb9 Rebase to latest upstream (0.94.1) and sync-up spec file 2015-04-15 11:41:56 +02:00
Ken Dreyer 48fd62dda4 add version numbers to Obsoletes
The ceph-devel and python-ceph packages were split out, but there were
no version numbers added to the Obsoletes during the split.

This means that we obsolete packages that are far newer than us. This
impacts packages coming from upstream's "gitbuilder" system (for
example), as well as any other upstream RPMs until this package split is
done upstream.

Add version numbers to the Obsoletes. I've chosen to use a
version+release number that's lower than what we currently ship in
Fedora (0.87-1), but newer than what we shipped in the last Fedora
update (0.80.6-1).
2015-04-14 17:11:34 +02:00
Boris Ranto 085130783d Fix several issues with spec file
- Perform a hardened build
- Use git-formatted patches
- Add patch for pthreads rwlock unlock problem
- Do not remove conf files on uninstall
- Remove the cleanup function, it is only necessary for f20 and f21
2015-03-04 16:12:18 +01:00
Boris Ranto aece707d1a Rebase to 0.87.1 2015-03-02 13:22:46 +01:00
26 changed files with 759 additions and 5847 deletions
@@ -0,0 +1,29 @@
From 8ac49f54ad774324c1de344cd18620df7fa52256 Mon Sep 17 00:00:00 2001
From: Boris Ranto <branto@redhat.com>
Date: Wed, 15 Apr 2015 14:06:24 +0200
Subject: [PATCH] Disable erasure_codelib neon build
---
src/erasure-code/jerasure/Makefile.am | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/erasure-code/jerasure/Makefile.am b/src/erasure-code/jerasure/Makefile.am
index 9ca4fbb..147d57e 100644
--- a/src/erasure-code/jerasure/Makefile.am
+++ b/src/erasure-code/jerasure/Makefile.am
@@ -75,9 +75,9 @@ if LINUX
libec_jerasure_neon_la_LDFLAGS += -export-symbols-regex '.*__erasure_code_.*'
endif
-if HAVE_NEON
-erasure_codelib_LTLIBRARIES += libec_jerasure_neon.la
-endif
+#if HAVE_NEON
+#erasure_codelib_LTLIBRARIES += libec_jerasure_neon.la
+#endif
libec_jerasure_sse3_la_SOURCES = ${jerasure_sources}
libec_jerasure_sse3_la_CFLAGS = ${AM_CFLAGS} \
--
2.5.5
-55
View File
@@ -1,55 +0,0 @@
--- 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: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -0,0 +1,37 @@
From 726127dbd6d51c97495e73c3216c27dd38a31ed3 Mon Sep 17 00:00:00 2001
From: Anthony Alba <ascanio.alba7@gmail.com>
Date: Mon, 30 Nov 2015 16:44:31 +0800
Subject: [PATCH] init-ceph.in: Allow custom cluster names during startup.
Signed-off-by: Richard Chan <richard@treeboxsolutions.com>
---
src/init-ceph.in | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/init-ceph.in b/src/init-ceph.in
index e4cea7e..1f19ffa 100644
--- a/src/init-ceph.in
+++ b/src/init-ceph.in
@@ -288,7 +288,7 @@ for name in $what; do
lockfile=""
fi
- get_conf asok "$run_dir/ceph-$type.$id.asok" "admin socket"
+ get_conf asok "$run_dir/$cluster-$type.$id.asok" "admin socket"
case "$command" in
start)
@@ -404,8 +404,8 @@ for name in $what; do
# these keys. it's also true for legacy installs
# via mkcephfs, which is fine too; there is no harm
# in creating these keys.
- get_conf mon_data "/var/lib/ceph/mon/ceph-$id" "mon data"
- if [ "$mon_data" = "/var/lib/ceph/mon/ceph-$id" -a "$asok" = "/var/run/ceph/ceph-mon.$id.asok" ]; then
+ get_conf mon_data "/var/lib/ceph/mon/$cluster-$id" "mon data"
+ if [ "$mon_data" = "/var/lib/ceph/mon/$cluster-$id" -a "$asok" = "/var/run/ceph/$cluster-mon.$id.asok" ]; then
echo Starting ceph-create-keys on $host...
cmd2="$SBINDIR/ceph-create-keys --cluster $cluster -i $id 2> /dev/null &"
do_cmd "$cmd2"
--
2.5.5
@@ -0,0 +1,26 @@
From ebff005e9998122c9e89052fbca06f4962180240 Mon Sep 17 00:00:00 2001
From: Boris Ranto <branto@redhat.com>
Date: Mon, 16 May 2016 15:47:20 +0200
Subject: [PATCH] Apply 'ceph-0.94.1-tcmalloc.patch'
Signed-off-by: Boris Ranto <branto@redhat.com>
---
src/rocksdb/configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/rocksdb/configure.ac b/src/rocksdb/configure.ac
index 855c6a8..fe914aa 100644
--- a/src/rocksdb/configure.ac
+++ b/src/rocksdb/configure.ac
@@ -19,7 +19,7 @@ AC_CHECK_LIB([snappy], [snappy_compress], [HAVE_LIBSNAPPY=yes], [AC_MSG_FAILURE(
AC_CHECK_LIB([z], [gzread], [HAVE_LIBZ=yes], [AC_MSG_FAILURE([libz not found])])
AC_CHECK_LIB([bz2], [BZ2_bzCompressInit], [HAVE_LIBBZ2=yes], [AC_MSG_FAILURE([libbz2 not found])])
AC_CHECK_LIB([rt], [clock_gettime], [HAVE_LIBRT=yes], [AC_MSG_FAILURE([librt not found])])
-AC_CHECK_LIB([tcmalloc], [malloc], [HAVE_LIBTCMALLOC=yes],[AC_MSG_FAILURE([no tcmalloc found ])])
+AC_CHECK_LIB([tcmalloc], [malloc], [HAVE_LIBTCMALLOC=yes],[AC_MSG_RESULT([no tcmalloc found ])])
OLD_CXXFLAGS="$CXXFLAGS"
CXXFLAGS="$CXXFLAGS -std=c++11"
--
2.5.5
-10
View File
@@ -1,10 +0,0 @@
--- 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;
@@ -0,0 +1,32 @@
From ecc0e801e378310dbb0e60ae7eb1f19179bd3e9e Mon Sep 17 00:00:00 2001
From: Boris Ranto <branto@redhat.com>
Date: Mon, 16 May 2016 15:48:23 +0200
Subject: [PATCH] Apply 'init-ceph.in-fedora.patch'
Signed-off-by: Boris Ranto <branto@redhat.com>
---
src/init-ceph.in | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/init-ceph.in b/src/init-ceph.in
index 1f19ffa..78eaf97 100644
--- a/src/init-ceph.in
+++ b/src/init-ceph.in
@@ -1,11 +1,11 @@
#!/bin/sh
# Start/stop ceph daemons
-# chkconfig: 2345 60 80
+# chkconfig: - 60 80
### BEGIN INIT INFO
# Provides: ceph
-# Default-Start: 2 3 4 5
-# Default-Stop: 0 1 6
+# Default-Start:
+# Default-Stop:
# Required-Start: $remote_fs $named $network $time
# Required-Stop: $remote_fs $named $network $time
# Short-Description: Start Ceph distributed file system daemons at boot time
--
2.5.5
-11
View File
@@ -1,11 +0,0 @@
--- 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)
@@ -1,27 +0,0 @@
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
@@ -1,172 +0,0 @@
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
@@ -1,100 +0,0 @@
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
View File
@@ -1,23 +0,0 @@
--- 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
@@ -1,63 +0,0 @@
--- 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-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)
@@ -1,37 +0,0 @@
--- ceph-17.1.0/src/rgw/store/dbstore/sqlite/CMakeLists.txt.orig 2022-03-01 08:19:04.974902872 -0500
+++ ceph-17.1.0/src/rgw/store/dbstore/sqlite/CMakeLists.txt 2022-03-11 07:55:16.236261471 -0500
@@ -12,5 +12,5 @@
set(SQLITE_COMPILE_FLAGS "-DSQLITE_THREADSAFE=1")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SQLITE_COMPILE_FLAGS}")
-add_library(sqlite_db ${sqlite_db_srcs})
+add_library(sqlite_db STATIC ${sqlite_db_srcs})
target_link_libraries(sqlite_db sqlite3 dbstore_lib rgw_common)
--- ceph-17.1.0/src/rgw/store/dbstore/CMakeLists.txt.orig 2022-02-28 14:11:49.987077811 -0500
+++ ceph-17.1.0/src/rgw/store/dbstore/CMakeLists.txt 2022-03-11 08:40:13.409682698 -0500
@@ -16,7 +16,7 @@
dbstore_mgr.cc
)
-add_library(dbstore_lib ${dbstore_srcs})
+add_library(dbstore_lib STATIC ${dbstore_srcs})
target_include_directories(dbstore_lib PUBLIC "${CMAKE_SOURCE_DIR}/src/fmt/include")
target_include_directories(dbstore_lib PUBLIC "${CMAKE_SOURCE_DIR}/src/rgw")
set(link_targets spawn)
@@ -38,6 +38,7 @@
# 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)
@@ -47,7 +48,7 @@
endif()
include_directories(${CMAKE_INCLUDE_DIR})
-add_library(dbstore ${dbstore_mgr_srcs})
+add_library(dbstore STATIC ${dbstore_mgr_srcs})
target_link_libraries(dbstore ${CMAKE_LINK_LIBRARIES})
# testing purpose
@@ -1,43 +0,0 @@
--- ceph-17.2.0-359-gb2fe9ec8/cmake/modules/CheckCxxAtomic.cmake.orig 2022-06-03 08:45:32.341075140 -0400
+++ ceph-17.2.0-359-gb2fe9ec8/cmake/modules/CheckCxxAtomic.cmake 2022-06-03 08:46:47.195775813 -0400
@@ -10,8 +10,9 @@
check_cxx_source_compiles("
#include <atomic>
#include <cstdint>
+#include <cstddef>
-#if defined(__s390x__) || defined(__mips__)
+#if defined(__SIZEOF_INT128__)
// Boost needs 16-byte atomics for tagged pointers.
// These are implemented via inline instructions on the platform
// if 16-byte alignment can be proven, and are delegated to libatomic
@@ -21,13 +22,27 @@
// We specifically test access via an otherwise unknown pointer here
// to ensure we get the most complex case. If this access can be
// done without libatomic, then all accesses can be done.
-bool atomic16(std::atomic<unsigned __int128> *ptr)
+struct tagged_ptr {
+ int* ptr;
+ std::size_t tag;
+};
+
+void atomic16(std::atomic<tagged_ptr> *ptr) __attribute__ ((used));
+void atomic16(std::atomic<tagged_ptr> *ptr)
{
- return *ptr != 0;
+ tagged_ptr p{nullptr, 1};
+ ptr->store(p);
+ tagged_ptr f = ptr->load();
+ tagged_ptr new_tag{nullptr, 0};
+ ptr->compare_exchange_strong(f, new_tag);
}
#endif
int main() {
+#if defined(__SIZEOF_INT128__)
+ std::atomic<tagged_ptr> ptr;
+ atomic16(&ptr);
+#endif
std::atomic<uint8_t> w1;
std::atomic<uint16_t> w2;
std::atomic<uint32_t> w4;
@@ -1,11 +0,0 @@
--- 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})
File diff suppressed because it is too large Load Diff
@@ -1,28 +0,0 @@
From fff72cd14c58d06774cbd0274e6144b42448af03 Mon Sep 17 00:00:00 2001
From: "Adam C. Emerson" <aemerson@redhat.com>
Date: Mon, 7 Mar 2022 18:54:30 -0500
Subject: [PATCH] mon: Replace deprecated use of format_to
The non-deprecated version takes an explicit OutputIterator.
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
---
src/mon/LogMonitor.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/mon/LogMonitor.cc b/src/mon/LogMonitor.cc
index 9103ddf7c5b..c196e8429fb 100644
--- a/src/mon/LogMonitor.cc
+++ b/src/mon/LogMonitor.cc
@@ -411,7 +411,7 @@ void LogMonitor::log_external(const LogEntry& le)
}
if (fd >= 0) {
- fmt::format_to(file_log_buffer, "{}\n", le);
+ fmt::format_to(std::back_inserter(file_log_buffer), "{}\n", le);
int err = safe_write(fd, file_log_buffer.data(), file_log_buffer.size());
file_log_buffer.clear();
if (err < 0) {
--
2.36.1
@@ -1,218 +0,0 @@
--- ceph-17.2.3/src/s3select/include/s3select_parquet_intrf.h.orig 2022-01-11 15:47:52.000000000 -0500
+++ ceph-17.2.3/src/s3select/include/s3select_parquet_intrf.h 2022-08-22 10:26:06.738082924 -0400
@@ -26,6 +26,14 @@
#include "internal_file_decryptor.h"
#include "encryption_internal.h"
+#if ARROW_VERSION_MAJOR < 9
+#define _ARROW_FD fd_
+#define _ARROW_FD_TYPE int
+#else
+#define _ARROW_FD fd_.fd()
+#define _ARROW_FD_TYPE arrow::internal::FileDescriptor
+#endif
+
/******************************************/
/******************************************/
class optional_yield;
@@ -164,7 +172,7 @@
std::mutex lock_;
// File descriptor
- int fd_;
+ _ARROW_FD_TYPE fd_;
FileMode::type mode_;
@@ -202,7 +210,7 @@
mode_ = write_only ? FileMode::WRITE : FileMode::READWRITE;
if (!truncate) {
- ARROW_ASSIGN_OR_RAISE(size_, ::arrow::internal::FileGetSize(fd_));
+ ARROW_ASSIGN_OR_RAISE(size_, ::arrow::internal::FileGetSize(_ARROW_FD));
} else {
size_ = 0;
}
@@ -222,7 +230,11 @@
RETURN_NOT_OK(SetFileName(fd));
is_open_ = true;
mode_ = FileMode::WRITE;
+ #if ARROW_VERSION_MAJOR < 9
fd_ = fd;
+ #else
+ fd_ = arrow::internal::FileDescriptor{fd};
+ #endif
return Status::OK();
}
@@ -230,7 +242,7 @@
RETURN_NOT_OK(SetFileName(path));
ARROW_ASSIGN_OR_RAISE(fd_, ::arrow::internal::FileOpenReadable(file_name_));
- ARROW_ASSIGN_OR_RAISE(size_, ::arrow::internal::FileGetSize(fd_));
+ ARROW_ASSIGN_OR_RAISE(size_, ::arrow::internal::FileGetSize(_ARROW_FD));
is_open_ = true;
mode_ = FileMode::READ;
@@ -242,7 +254,11 @@
RETURN_NOT_OK(SetFileName(fd));
is_open_ = true;
mode_ = FileMode::READ;
+ #if ARROW_VERSION_MAJOR < 9
fd_ = fd;
+ #else
+ fd_ = arrow::internal::FileDescriptor{fd};
+ #endif
return Status::OK();
}
@@ -258,9 +274,13 @@
// Even if closing fails, the fd will likely be closed (perhaps it's
// already closed).
is_open_ = false;
+ #if ARROW_VERSION_MAJOR < 9
int fd = fd_;
fd_ = -1;
RETURN_NOT_OK(::arrow::internal::FileClose(fd));
+ #else
+ RETURN_NOT_OK(fd_.Close());
+ #endif
}
return Status::OK();
}
@@ -268,7 +288,7 @@
Result<int64_t> Read(int64_t nbytes, void* out) override {
RETURN_NOT_OK(CheckClosed());
RETURN_NOT_OK(CheckPositioned());
- return ::arrow::internal::FileRead(fd_, reinterpret_cast<uint8_t*>(out), nbytes);
+ return ::arrow::internal::FileRead(_ARROW_FD, reinterpret_cast<uint8_t*>(out), nbytes);
}
Result<int64_t> ReadAt(int64_t position, int64_t nbytes, void* out) override {
@@ -277,7 +297,7 @@
// ReadAt() leaves the file position undefined, so require that we seek
// before calling Read() or Write().
need_seeking_.store(true);
- return ::arrow::internal::FileReadAt(fd_, reinterpret_cast<uint8_t*>(out), position,
+ return ::arrow::internal::FileReadAt(_ARROW_FD, reinterpret_cast<uint8_t*>(out), position,
nbytes);
}
@@ -286,7 +306,7 @@
if (pos < 0) {
return Status::Invalid("Invalid position");
}
- Status st = ::arrow::internal::FileSeek(fd_, pos);
+ Status st = ::arrow::internal::FileSeek(_ARROW_FD, pos);
if (st.ok()) {
need_seeking_.store(false);
}
@@ -295,7 +315,7 @@
Result<int64_t> Tell() const override {
RETURN_NOT_OK(CheckClosed());
- return ::arrow::internal::FileTell(fd_);
+ return ::arrow::internal::FileTell(_ARROW_FD);
}
Status Write(const void* data, int64_t length) override {
@@ -306,11 +326,11 @@
if (length < 0) {
return Status::IOError("Length must be non-negative");
}
- return ::arrow::internal::FileWrite(fd_, reinterpret_cast<const uint8_t*>(data),
+ return ::arrow::internal::FileWrite(_ARROW_FD, reinterpret_cast<const uint8_t*>(data),
length);
}
- int fd() const override { return fd_; }
+ int fd() const override { return _ARROW_FD; }
bool is_open() const override { return is_open_; }
@@ -345,7 +365,7 @@
std::mutex lock_;
// File descriptor
- int fd_;
+ _ARROW_FD_TYPE fd_;
FileMode::type mode_;
@@ -411,7 +431,11 @@
// already closed).
is_open_ = false;
//int fd = fd_;
+ #if ARROW_VERSION_MAJOR < 9
fd_ = -1;
+ #else
+ fd_.Close();
+ #endif
//RETURN_NOT_OK(::arrow::internal::FileClose(fd));
}
return Status::OK();
@@ -421,7 +445,7 @@
NOT_IMPLEMENT;
RETURN_NOT_OK(CheckClosed());
RETURN_NOT_OK(CheckPositioned());
- return ::arrow::internal::FileRead(fd_, reinterpret_cast<uint8_t*>(out), nbytes);
+ return ::arrow::internal::FileRead(_ARROW_FD, reinterpret_cast<uint8_t*>(out), nbytes);
}
Result<int64_t> ReadAt(int64_t position, int64_t nbytes, void* out) {
@@ -443,7 +467,7 @@
return Status::OK();
}
- int fd() const { return fd_; }
+ int fd() const { return _ARROW_FD; }
bool is_open() const { return is_open_; }
@@ -467,7 +491,7 @@
std::mutex lock_;
// File descriptor
- int fd_;
+ _ARROW_FD_TYPE fd_;
FileMode::type mode_;
@@ -609,7 +633,7 @@
for (const auto& range : ranges) {
RETURN_NOT_OK(internal::ValidateRange(range.offset, range.length));
#if defined(POSIX_FADV_WILLNEED)
- if (posix_fadvise(fd_, range.offset, range.length, POSIX_FADV_WILLNEED)) {
+ if (posix_fadvise(_ARROW_FD, range.offset, range.length, POSIX_FADV_WILLNEED)) {
return IOErrorFromErrno(errno, "posix_fadvise failed");
}
#elif defined(F_RDADVISE) // macOS, BSD?
@@ -617,7 +641,7 @@
off_t ra_offset;
int ra_count;
} radvisory{range.offset, static_cast<int>(range.length)};
- if (radvisory.ra_count > 0 && fcntl(fd_, F_RDADVISE, &radvisory) == -1) {
+ if (radvisory.ra_count > 0 && fcntl(_ARROW_FD, F_RDADVISE, &radvisory) == -1) {
return IOErrorFromErrno(errno, "fcntl(fd, F_RDADVISE, ...) failed");
}
#endif
@@ -970,6 +994,9 @@
CryptoContext ctx(col->has_dictionary_page(), row_group_ordinal_,
static_cast<int16_t>(i), meta_decryptor, data_decryptor);
return PageReader::Open(stream, col->num_values(), col->compression(),
+ #if ARROW_VERSION_MAJOR > 8
+ false,
+ #endif
properties_.memory_pool(), &ctx);
}
@@ -985,6 +1012,9 @@
CryptoContext ctx(col->has_dictionary_page(), row_group_ordinal_,
static_cast<int16_t>(i), meta_decryptor, data_decryptor);
return PageReader::Open(stream, col->num_values(), col->compression(),
+ #if ARROW_VERSION_MAJOR > 8
+ false,
+ #endif
properties_.memory_pool(), &ctx);
}
-73
View File
@@ -1,73 +0,0 @@
--- ceph-17.2.5/src/common/subsys_types.h.orig 2023-01-17 05:29:55.711592884 -0500
+++ ceph-17.2.5/src/common/subsys_types.h 2023-01-17 05:31:05.759282197 -0500
@@ -53,7 +53,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-17.2.5/src/msg/async/compression_onwire.h.orig 2023-01-17 07:34:31.923701878 -0500
+++ ceph-17.2.5/src/msg/async/compression_onwire.h 2023-01-17 07:35:04.493093534 -0500
@@ -44,7 +44,7 @@
class TxHandler final : private Handler {
public:
- TxHandler(CephContext* const cct, CompressorRef compressor, int mode, std::uint64_t min_size)
+ TxHandler(CephContext* const cct, CompressorRef compressor, int mode, uint64_t min_size)
: Handler(cct, compressor),
m_min_size(min_size),
m_mode(static_cast<Compressor::CompressionMode>(mode))
@@ -97,7 +97,7 @@
static rxtx_t create_handler_pair(
CephContext* ctx,
const CompConnectionMeta& comp_meta,
- std::uint64_t compress_min_size);
+ uint64_t compress_min_size);
};
}
--- ceph-17.2.5/src/msg/async/crypto_onwire.h.orig 2023-01-17 07:35:35.535513714 -0500
+++ ceph-17.2.5/src/msg/async/crypto_onwire.h 2023-01-17 07:35:46.578307452 -0500
@@ -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-17.2.5/src/test/librados/op_speed.cc.orig 2023-01-17 08:57:37.078531022 -0500
+++ ceph-17.2.5/src/test/librados/op_speed.cc 2023-01-17 08:57:58.259139439 -0500
@@ -9,7 +9,7 @@
for (int i = 0; i < to_create; ++i) {
librados::ObjectReadOperation op;
bufferlist bl;
- std::uint64_t sz;
+ uint64_t sz;
struct timespec tm;
std::map<std::string, ceph::buffer::list> xattrs;
std::map<std::string, ceph::buffer::list> omap;
--- ceph-17.2.5/src/test/mon/test_log_rss_usage.cc.orig 2023-01-17 10:14:37.552820230 -0500
+++ ceph-17.2.5/src/test/mon/test_log_rss_usage.cc 2023-01-17 10:15:12.319202506 -0500
@@ -5,6 +5,7 @@
#include <string>
#include <iostream>
#include <fstream>
+#include <cstdint>
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
--- ceph-17.2.5/src/rocksdb/db/compaction/compaction_iteration_stats.h.orig 2023-01-26 17:05:20.605333926 -0500
+++ ceph-17.2.5/src/rocksdb/db/compaction/compaction_iteration_stats.h 2023-01-26 17:05:46.376880846 -0500
@@ -6,6 +6,7 @@
#pragma once
#include "rocksdb/rocksdb_namespace.h"
+#include <cstdint>
struct CompactionIterationStats {
// Compaction statistics
@@ -1,42 +0,0 @@
From 73218e291ca68a927965bdffa7d43d0fc62c2718 Mon Sep 17 00:00:00 2001
From: Ondrej Mosnacek <omosnace@redhat.com>
Date: Wed, 27 Jul 2022 17:14:25 +0200
Subject: [PATCH] selinux: prepare for anon inode controls enablement
We plan to start labeling anon inodes (userfaultfd and io_uring file
descriptors) properly in selinux-policy, which means that domains using
these will need new rules.
See: https://github.com/fedora-selinux/selinux-policy/pull/1351
Since ceph may optionally use io_uring, this patch adds the necessary
interface call to its policy to avoid a regression. As the new interface
call is put under a conditional, the policy package will be buildable
against selinux-policy with or without the above PR merged, but it will
need to be rebuilt against the updated selinux-policy to actually pick
up the new rules.
I tested this on a minimal ceph cluster with 'bdev_ioring = true' added
to ceph.conf. I got io_uring denials without this patch + with
selinux-policy with PR#1351 and no denials with ceph rebuilt with this
patch.
Signed-off-by: Ondrej Mosnacek <omosnace@redhat.com>
---
selinux/ceph.te | 3 +++
1 file changed, 3 insertions(+)
diff --git a/selinux/ceph.te b/selinux/ceph.te
index 77d35d9714b60..729bce1fc8589 100644
--- a/selinux/ceph.te
+++ b/selinux/ceph.te
@@ -75,6 +75,9 @@ manage_lnk_files_pattern(ceph_t, ceph_var_run_t, ceph_var_run_t)
kernel_read_system_state(ceph_t)
kernel_read_network_state(ceph_t)
+ifdef(`kernel_io_uring_use',`
+ kernel_io_uring_use(ceph_t)
+')
allow ceph_t kernel_t:system module_request;
corenet_all_recvfrom_unlabeled(ceph_t)
@@ -1,99 +0,0 @@
--- ceph-17.2.5/src/boost/libs/python/src/object/enum.cpp.orig 2023-02-23 08:45:36.498595122 -0500
+++ ceph-17.2.5/src/boost/libs/python/src/object/enum.cpp 2023-02-23 08:46:11.277990890 -0500
@@ -153,7 +153,7 @@
{
if (enum_type_object.tp_dict == 0)
{
- Py_TYPE(&enum_type_object) = incref(&PyType_Type);
+ Py_SET_TYPE(&enum_type_object, incref(&PyType_Type));
#if PY_VERSION_HEX >= 0x03000000
enum_type_object.tp_base = &PyLong_Type;
#else
--- ceph-17.2.5/src/boost/libs/python/src/object/function.cpp.orig 2023-02-23 08:44:19.995920877 -0500
+++ ceph-17.2.5/src/boost/libs/python/src/object/function.cpp 2023-02-23 08:45:26.426770100 -0500
@@ -107,7 +107,7 @@
PyObject* p = this;
if (Py_TYPE(&function_type) == 0)
{
- Py_TYPE(&function_type) = &PyType_Type;
+ Py_SET_TYPE(&function_type, &PyType_Type);
::PyType_Ready(&function_type);
}
--- ceph-17.2.5/src/boost/libs/python/src/object/life_support.cpp.orig 2023-02-23 08:43:37.511650115 -0500
+++ ceph-17.2.5/src/boost/libs/python/src/object/life_support.cpp 2023-02-23 08:44:10.225088588 -0500
@@ -93,7 +93,7 @@
if (Py_TYPE(&life_support_type) == 0)
{
- Py_TYPE(&life_support_type) = &PyType_Type;
+ Py_SET_TYPE(&life_support_type, &PyType_Type);
PyType_Ready(&life_support_type);
}
--- ceph-17.2.5/src/boost/libs/python/src/object/class.cpp.orig 2023-02-23 08:46:22.394797757 -0500
+++ ceph-17.2.5/src/boost/libs/python/src/object/class.cpp 2023-02-23 10:54:56.016527900 -0500
@@ -21,6 +21,7 @@
#include <boost/python/dict.hpp>
#include <boost/python/str.hpp>
#include <boost/python/ssize_t.hpp>
+#include <boost/align/detail/align.hpp>
#include <functional>
#include <vector>
#include <cstddef>
@@ -208,7 +209,7 @@
{
if (static_data_object.tp_dict == 0)
{
- Py_TYPE(&static_data_object) = &PyType_Type;
+ Py_SET_TYPE(&static_data_object, &PyType_Type);
static_data_object.tp_base = &PyProperty_Type;
if (PyType_Ready(&static_data_object))
return 0;
@@ -316,7 +317,7 @@
{
if (class_metatype_object.tp_dict == 0)
{
- Py_TYPE(&class_metatype_object) = &PyType_Type;
+ Py_SET_TYPE(&class_metatype_object, &PyType_Type);
class_metatype_object.tp_base = &PyType_Type;
if (PyType_Ready(&class_metatype_object))
return type_handle();
@@ -374,12 +375,7 @@
// like, so we'll store the total size of the object
// there. A negative number indicates that the extra
// instance memory is not yet allocated to any holders.
-#if PY_VERSION_HEX >= 0x02060000
- Py_SIZE(result) =
-#else
- result->ob_size =
-#endif
- -(static_cast<int>(offsetof(instance<>,storage) + instance_size));
+ Py_SET_SIZE(result,-static_cast<int>(offsetof(instance<>,storage) + instance_size));
}
return (PyObject*)result;
}
@@ -470,7 +466,7 @@
{
if (class_type_object.tp_dict == 0)
{
- Py_TYPE(&class_type_object) = incref(class_metatype().get());
+ Py_SET_TYPE(&class_type_object, incref(class_metatype().get()));
class_type_object.tp_base = &PyBaseObject_Type;
if (PyType_Ready(&class_type_object))
return type_handle();
@@ -738,8 +734,13 @@
// holder_offset should at least point into the variable-sized part
assert(holder_offset >= offsetof(objects::instance<>,storage));
+ size_t allocated = holder_size + 8;
+ void* storage = (char*)self + holder_offset;
+ void* aligned_storage = ::boost::alignment::align(8, holder_size, storage, allocated);
+
// Record the fact that the storage is occupied, noting where it starts
- Py_SIZE(self) = holder_offset;
+ const size_t offset = reinterpret_cast<uintptr_t>(aligned_storage) - reinterpret_cast<uintptr_t>(storage) + holder_offset;
+ Py_SET_SIZE(self, offset);
return (char*)self + holder_offset;
}
else
-15
View File
@@ -1,15 +0,0 @@
--- ceph-17.2.6/cmake/modules/BuildBoost.cmake.orig 2023-04-27 14:00:28.239524778 -0400
+++ ceph-17.2.6/cmake/modules/BuildBoost.cmake 2023-04-28 07:49:59.743342207 -0400
@@ -63,7 +63,11 @@
else()
list(APPEND boost_features "address-model=32")
endif()
- set(BOOST_CXXFLAGS "-fPIC -w") # check on arm, etc <---XXX
+ if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64")
+ set(BOOST_CXXFLAGS "-fPIC -w -fcf-protection") # check on arm, etc <---XXX
+ else()
+ set(BOOST_CXXFLAGS "-fPIC -w") # check on arm, etc <---XXX
+ endif()
list(APPEND boost_features "cxxflags=${BOOST_CXXFLAGS}")
set(boost_with_libs)
-61
View File
@@ -1,61 +0,0 @@
--- 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
+632 -2989
View File
File diff suppressed because it is too large Load Diff
@@ -1,13 +0,0 @@
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)
+3 -1
View File
@@ -1 +1,3 @@
SHA512 (ceph-17.2.7.tar.gz) = 9005de7661c6a9d1054f1388cff2f48eb1af93565ebf852669de546eed594ed6a2668944b25a64c406d00f88bd2f7a6eac2ae96b04789c03ea4d248d1a683e7b
e7c35581f8d36d34f7cde16a862e54fb ceph-0.94.5.tar.bz2
566cdeae80ee639dcb265ac284a59b48 ceph-0.94.6.tar.gz
a8fd1046805551e301cb835f418ade72 ceph-0.94.7.tar.gz