[packages/ceph] - updated to 18.2.3

qboosh qboosh at pld-linux.org
Sat Jun 1 18:56:09 CEST 2024


commit 8e616c49ffb39ea14d1ce7f3cc69daf629da1f52
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Sat Jun 1 18:32:58 2024 +0200

    - updated to 18.2.3

 ceph-cmake-static.patch |  35 ++++---------
 ceph-gcc12.patch        |  21 ++------
 ceph-libfmt.patch       | 131 ++++++++++++++++++++++++++++++++++++++----------
 ceph-python.patch       |  11 ++++
 ceph-qat.patch          |  45 +++++++++++++++--
 ceph.spec               |  43 ++++++++++------
 no-virtualenvs.patch    |  15 +++---
 types.patch             |  56 ---------------------
 8 files changed, 205 insertions(+), 152 deletions(-)
---
diff --git a/ceph.spec b/ceph.spec
index b8f6371..67a817b 100644
--- a/ceph.spec
+++ b/ceph.spec
@@ -1,4 +1,6 @@
 # TODO:
+# - thrift 0.13+ for jaeger
+# - Could NOT find dml (missing: DML_LIBRARIES DML_INCLUDE_DIR DML_HL_LIBRARIES)
 # - system arrow, parquet (WITH_SYSTEM_ARROW=ON, arrow>=4, parquet>=4)?
 # - brotli? (WITH_BROTLI=ON, uses internal brotli as downloaded subproject)
 # - proper init scripts if non-systemd boot is to be supported
@@ -19,6 +21,7 @@
 # src/rgw/rgw_fcgi_process.cc:92:53: error: 'class rgw::sal::RGWRadosStore' has no member named 'get_new_req_id'
 %bcond_with	fcgi		# RADOS Gateway FCGI frontend
 %bcond_with	fio		# FIO engines support (16.x: downloads fio as internal subproject)
+%bcond_with	jaeger		# jaegertracing support (NFY, BR: thrift >= 0.13)
 %bcond_with	kerberos	# GSSAPI/KRB5 support
 %bcond_without	pmem		# PMDK (persistent memory) support
 %bcond_without	qat		# QAT driver
@@ -50,12 +53,12 @@
 Summary:	User space components of the Ceph file system
 Summary(pl.UTF-8):	Działające w przestrzeni użytkownika elementy systemu plików Ceph
 Name:		ceph
-Version:	17.2.7
+Version:	18.2.3
 Release:	1
 License:	LGPL v2.1 (libraries), GPL v2 (some programs)
 Group:		Base
 Source0:	http://download.ceph.com/tarballs/%{name}-%{version}.tar.gz
-# Source0-md5:	843fb59f95f62e0e156539e49a2a3a9a
+# Source0-md5:	cfa96354e8cd5168c8c42ff9fafc49a4
 Source1:	ceph.sysconfig
 Source3:	ceph.tmpfiles
 Patch0:		%{name}-python.patch
@@ -81,13 +84,13 @@ Patch17:	boost1.81.patch
 URL:		https://ceph.io/
 %{?with_qatzip:BuildRequires:	QATzip-devel}
 %{?with_babeltrace:BuildRequires:	babeltrace-devel}
-BuildRequires:	boost-devel >= 1.73
-BuildRequires:	boost-python3-devel >= 1.73
+BuildRequires:	boost-devel >= 1.79
+BuildRequires:	boost-python3-devel >= 1.79
 %{?with_seastar:BuildRequires:	c-ares-devel >= 1.13.0}
 BuildRequires:	cmake >= 3.22.2
 %{?with_seastar:BuildRequires:	cryptopp-devel >= 5.6.5}
 BuildRequires:	cryptsetup-devel >= 2.0.5
-BuildRequires:	curl-devel
+BuildRequires:	curl-devel >= 7.32
 %if %{with dpdk} || %{with spdk}
 # also seastar with dpdk support
 BuildRequires:	dpdk-devel
@@ -144,11 +147,11 @@ BuildRequires:	openssl-devel >= 1.1
 BuildRequires:	perl-base
 BuildRequires:	pkgconfig
 %{?with_pmem:BuildRequires:	pmdk-devel >= 1.10.0}
-BuildRequires:	python3 >= 1:3.2
+BuildRequires:	python3 >= 1:3.6.0
 BuildRequires:	python3-Cython
 BuildRequires:	python3-PyYAML
-BuildRequires:	python3-devel >= 1:3.2
-BuildRequires:	python3-modules >= 1:3.2
+BuildRequires:	python3-devel >= 1:3.6.0
+BuildRequires:	python3-modules >= 1:3.6.0
 %{?with_tests:BuildRequires:	python3-tox >= 2.9.1}
 BuildRequires:	rabbitmq-c-devel
 %{?with_seastar:BuildRequires:	ragel >= 6.10}
@@ -159,7 +162,7 @@ BuildRequires:	sed >= 4.0
 BuildRequires:	snappy-devel
 BuildRequires:	sphinx-pdg >= 4.4.0
 BuildRequires:	sqlite3-devel >= 3
-# >= 0.13.0 wanted, but seems to build with 0.11.0
+# >= 0.13.0 wanted, but seems to build with 0.11.0 when jaeger is disabled
 BuildRequires:	thrift-devel
 BuildRequires:	udev-devel
 %{?with_dpdk:BuildRequires:	xorg-lib-libpciaccess-devel}
@@ -214,8 +217,8 @@ Summary(pl.UTF-8):	Pliki nagłówkowe bibliotek Cepha
 License:	LGPL v2.1
 Group:		Development/Libraries
 Requires:	%{name}-libs = %{version}-%{release}
-Requires:	boost-devel >= 1.73
-Requires:	curl-devel
+Requires:	boost-devel >= 1.79
+Requires:	curl-devel >= 7.32
 Requires:	expat-devel >= 1.95
 Requires:	fcgi-devel
 Requires:	nss-devel >= 3
@@ -357,7 +360,7 @@ uruchamiania demonów.
 
 %{__sed} -i -e '1s,/usr/bin/env bash,/bin/bash,' \
 	src/{ceph-post-file.in,rbd-replay-many,rbdmap} \
-	src/rgw/rgw-{gap,orphan}-list
+	src/rgw/{rgw-gap-list,rgw-orphan-list,rgw-restore-bucket-index}
 
 %{__sed} -i -e '1s,/usr/bin/awk,/bin/awk,' \
 	src/rgw/rgw-gap-list-comparator
@@ -404,6 +407,7 @@ cd build
 	%{?with_dpdk:-DWITH_DPDK=ON} \
 	%{?with_fio:-DWITH_FIO=ON} \
 	%{?with_kerberos:-DWITH_GSSAPI=ON} \
+	%{!?with_jaeger:-DWITH_JAEGER=OFF} \
 	%{!?with_lttng:-DWITH_LTTNG=OFF} \
 	-DWITH_LZ4=ON \
 	%{!?with_angular:-DWITH_MGR_DASHBOARD_FRONTEND=OFF} \
@@ -501,6 +505,7 @@ fi
 %{systemdunitdir}/ceph.service
 %{systemdunitdir}/ceph.target
 %{systemdunitdir}/ceph-crash.service
+%{systemdunitdir}/ceph-exporter.service
 %{systemdunitdir}/ceph-fuse.target
 %{systemdunitdir}/ceph-fuse at .service
 %{systemdunitdir}/ceph-immutable-object-cache.target
@@ -570,7 +575,10 @@ fi
 %attr(755,root,root) %{_bindir}/rgw-gap-list
 %attr(755,root,root) %{_bindir}/rgw-gap-list-comparator
 %attr(755,root,root) %{_bindir}/rgw-orphan-list
+%attr(755,root,root) %{_bindir}/rgw-restore-bucket-index
+%attr(755,root,root) %{_sbindir}/cephadm
 %attr(755,root,root) %{_sbindir}/ceph-create-keys
+%attr(755,root,root) %{_sbindir}/ceph-node-proxy
 %attr(755,root,root) %{_sbindir}/ceph-volume
 %attr(755,root,root) %{_sbindir}/ceph-volume-systemd
 %attr(755,root,root) /sbin/mount.ceph
@@ -618,6 +626,8 @@ fi
 %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_lrc.so*
 %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_shec.so*
 %attr(755,root,root) %{_libdir}/ceph/erasure-code/libec_shec_generic.so*
+%dir %{_libdir}/ceph/extblkdev
+%attr(755,root,root) %{_libdir}/ceph/extblkdev/libceph_ebd_vdo.so*
 %dir %{_libdir}/ceph/librbd
 %attr(755,root,root) %{_libdir}/ceph/librbd/libceph_librbd_parent_cache.so*
 %dir %{_libdir}/rados-classes
@@ -717,8 +727,6 @@ fi
 %attr(755,root,root) %ghost %{_libdir}/librados.so.2
 %attr(755,root,root) %{_libdir}/librados_tp.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir}/librados_tp.so.2
-%attr(755,root,root) %{_libdir}/libradosgw.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libradosgw.so.2
 %attr(755,root,root) %{_libdir}/libradosstriper.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir}/libradosstriper.so.1
 %attr(755,root,root) %{_libdir}/librbd.so.*.*.*
@@ -742,7 +750,6 @@ fi
 %attr(755,root,root) %{_libdir}/libosd_tp.so
 %attr(755,root,root) %{_libdir}/librados.so
 %attr(755,root,root) %{_libdir}/librados_tp.so
-%attr(755,root,root) %{_libdir}/libradosgw.so
 %attr(755,root,root) %{_libdir}/libradosstriper.so
 %attr(755,root,root) %{_libdir}/librbd.so
 %attr(755,root,root) %{_libdir}/librbd_tp.so
@@ -768,8 +775,10 @@ fi
 %{py3_sitescriptdir}/ceph_*.py
 %{py3_sitescriptdir}/__pycache__/ceph_*.py*
 %{py3_sitescriptdir}/ceph
-%{py3_sitescriptdir}/ceph_volume
 %{py3_sitescriptdir}/ceph-1.0.0-py*.egg-info
+%{py3_sitescriptdir}/ceph_node_proxy
+%{py3_sitescriptdir}/ceph_node_proxy-1.0.0-py*.egg-info
+%{py3_sitescriptdir}/ceph_volume
 %{py3_sitescriptdir}/ceph_volume-1.0.0-py*.egg-info
 %{py3_sitescriptdir}/cephfs_top-0.0.1-py*.egg-info
 
@@ -794,12 +803,14 @@ fi
 %attr(755,root,root) %{_bindir}/radosgw-es
 %attr(755,root,root) %{_bindir}/radosgw-object-expirer
 %attr(755,root,root) %{_bindir}/radosgw-token
+%attr(755,root,root) %{_bindir}/rgw-policy-check
 %{systemdunitdir}/ceph-radosgw.target
 %{systemdunitdir}/ceph-radosgw at .service
 %{_sysconfdir}/bash_completion.d/radosgw-admin
 %dir %{_localstatedir}/lib/ceph/radosgw
 %{_mandir}/man8/radosgw.8*
 %{_mandir}/man8/radosgw-admin.8*
+%{_mandir}/man8/rgw-policy-check.8*
 
 %files resource-agents
 %defattr(644,root,root,755)
diff --git a/ceph-cmake-static.patch b/ceph-cmake-static.patch
index e912c5e..6228c03 100644
--- a/ceph-cmake-static.patch
+++ b/ceph-cmake-static.patch
@@ -1,38 +1,21 @@
 https://src.fedoraproject.org/rpms/ceph/raw/rawhide/f/0018-src-rgw-store-dbstore-CMakeLists.txt.patch
---- ceph-17.1.0/src/rgw/store/dbstore/sqlite/CMakeLists.txt.orig	2022-03-01 08:19:04.974902872 -0500
-+++ ceph-17.1.0/src/rgw/store/dbstore/sqlite/CMakeLists.txt	2022-03-11 07:55:16.236261471 -0500
-@@ -12,5 +12,5 @@
- set(SQLITE_COMPILE_FLAGS "-DSQLITE_THREADSAFE=1")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SQLITE_COMPILE_FLAGS}")
- 
--add_library(sqlite_db ${sqlite_db_srcs})
-+add_library(sqlite_db STATIC ${sqlite_db_srcs})
- target_link_libraries(sqlite_db sqlite3 dbstore_lib rgw_common)
---- ceph-17.1.0/src/rgw/store/dbstore/CMakeLists.txt.orig	2022-02-28 14:11:49.987077811 -0500
-+++ ceph-17.1.0/src/rgw/store/dbstore/CMakeLists.txt	2022-03-11 08:40:13.409682698 -0500
-@@ -16,7 +16,7 @@
+--- ceph-18.2.3/src/rgw/driver/dbstore/CMakeLists.txt.orig	2024-04-24 21:57:21.000000000 +0200
++++ ceph-18.2.3/src/rgw/driver/dbstore/CMakeLists.txt	2024-05-28 22:10:21.740885120 +0200
+@@ -24,7 +24,7 @@ set(dbstore_mgr_srcs
      dbstore_mgr.cc
      )
  
 -add_library(dbstore_lib ${dbstore_srcs})
 +add_library(dbstore_lib STATIC ${dbstore_srcs})
- target_include_directories(dbstore_lib PUBLIC "${CMAKE_SOURCE_DIR}/src/fmt/include")
- target_include_directories(dbstore_lib PUBLIC "${CMAKE_SOURCE_DIR}/src/rgw")
- set(link_targets spawn)
-@@ -38,6 +38,7 @@
+ target_include_directories(dbstore_lib
+     PUBLIC "${CMAKE_SOURCE_DIR}/src/rgw"
+     PUBLIC "${CMAKE_SOURCE_DIR}/src/rgw/store/rados"
+@@ -48,7 +48,7 @@ IF(USE_SQLITE)
+ ENDIF()
  
  # add pthread library
- set (CMAKE_LINK_LIBRARIES ${CMAKE_LINK_LIBRARIES} pthread)
+-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
diff --git a/ceph-gcc12.patch b/ceph-gcc12.patch
index 4440750..3e0874e 100644
--- a/ceph-gcc12.patch
+++ b/ceph-gcc12.patch
@@ -19,10 +19,10 @@
    }
  }
  
---- 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"
+--- ceph-18.2.3/src/test/librados/tier_cxx.cc.orig	2024-04-24 21:57:21.000000000 +0200
++++ ceph-18.2.3/src/test/librados/tier_cxx.cc	2024-05-29 06:30:11.278773257 +0200
+@@ -120,7 +120,7 @@ static inline void buf_to_hex(const unsi
+ }
  
  void check_fp_oid_refcount(librados::IoCtx& ioctx, std::string foid, uint64_t count,
 -			   std::string fp_algo = NULL)
@@ -30,7 +30,7 @@
  {
    bufferlist t;
    int size = foid.length();
-@@ -142,7 +142,7 @@
+@@ -148,7 +148,7 @@ void check_fp_oid_refcount(librados::IoC
    ASSERT_LE(count, refs.count());
  }
  
@@ -39,17 +39,6 @@
  {
    if (fp_algo == "sha1") {
      unsigned char fingerprint[CEPH_CRYPTO_SHA1_DIGESTSIZE + 1];
---- ceph-16.2.7/src/test/test_trans.cc.orig	2022-01-19 13:24:33.460008897 -0500
-+++ ceph-16.2.7/src/test/test_trans.cc	2022-01-19 13:24:58.211554005 -0500
-@@ -51,7 +51,7 @@
-   cout << "#dev " << filename << std::endl;
-   cout << "#mb " << mb << std::endl;
- 
--  ObjectStore *fs = new FileStore(cct.get(), filename, NULL);
-+  ObjectStore *fs = new FileStore(cct.get(), filename, "");
-   if (fs->mount() < 0) {
-     cout << "mount failed" << std::endl;
-     return -1;
 --- ceph-17.0.0-10335-gfd206722/src/s3select/include/s3select_functions.h.orig	2022-02-11 17:21:40.268627997 -0500
 +++ ceph-17.0.0-10335-gfd206722/src/s3select/include/s3select_functions.h	2022-02-11 17:21:57.155325437 -0500
 @@ -466,7 +466,7 @@
diff --git a/ceph-libfmt.patch b/ceph-libfmt.patch
index 4b768f9..f6bd3f4 100644
--- a/ceph-libfmt.patch
+++ b/ceph-libfmt.patch
@@ -1,13 +1,3 @@
---- ceph-17.2.7/src/common/hobject_fmt.h	2023-10-26 01:46:16.000000000 +0200
-+++ ceph-17.2.7.mod/src/common/hobject_fmt.h	2024-03-03 07:44:04.994865841 +0100
-@@ -9,6 +9,7 @@
- #include <fmt/ranges.h>
- 
- #include "common/hobject.h"
-+#include "include/object_fmt.h"
- #include "include/types_fmt.h"
- #include "msg/msg_fmt.h"
- 
 --- ceph-17.2.7/src/common/LogEntry.h	2023-10-26 01:46:16.000000000 +0200
 +++ ceph-17.2.7.mod/src/common/LogEntry.h	2024-03-02 07:42:35.321554400 +0100
 @@ -18,6 +18,7 @@
@@ -28,36 +18,37 @@
  template <> struct fmt::formatter<EntityName> : fmt::formatter<std::string_view> {
    template <typename FormatContext>
    auto format(const EntityName& e, FormatContext& ctx) {
---- ceph-17.2.7/src/include/types_fmt.h	2023-10-26 01:46:16.000000000 +0200
-+++ ceph-17.2.7.mod/src/include/types_fmt.h	2024-03-02 09:54:14.238851992 +0100
-@@ -6,6 +6,7 @@
-  */
+--- ceph-18.2.3/src/include/types.h.orig	2024-04-24 21:57:21.000000000 +0200
++++ ceph-18.2.3/src/include/types.h	2024-05-29 06:11:52.665464115 +0200
+@@ -612,6 +612,12 @@ inline std::ostream &operator<<(std::ost
  
- #include <fmt/format.h>
-+#include <fmt/ostream.h>
- 
- #include <string_view>
- 
-@@ -26,3 +27,9 @@
-     return fmt::format_to(ctx.out(), "}}");
-   }
- };
+ #if FMT_VERSION >= 90000
+ template <uint8_t S> struct fmt::formatter<sha_digest_t<S>> : fmt::ostream_formatter {};
 +
 +template <typename T>
 +struct fmt::formatter<ceph_le<T>> : ostream_formatter {};
 +
 +template <>
 +struct fmt::formatter<shard_id_t> : ostream_formatter {};
---- ceph-17.2.7/src/msg/async/frames_v2.cc	2023-10-26 01:46:16.000000000 +0200
-+++ ceph-17.2.7.mod/src/msg/async/frames_v2.cc	2024-03-01 19:04:33.315590782 +0100
-@@ -13,6 +13,7 @@
+ #endif
+ 
+ using sha1_digest_t = sha_digest_t<20>;
+--- ceph-18.2.3/src/msg/async/frames_v2.cc.orig	2024-05-29 06:09:22.381732484 +0200
++++ ceph-18.2.3/src/msg/async/frames_v2.cc	2024-05-29 22:07:02.928224740 +0200
+@@ -12,12 +12,11 @@
+  *
   */
  
++#include <fmt/format.h>
  #include "frames_v2.h"
-+#include "include/types_fmt.h"
  
  #include <ostream>
  
+-#include <fmt/format.h>
+-
+ namespace ceph::msgr::v2 {
+ 
+ // Unpads bufferlist to unpadded_len.
 --- ceph-17.2.7/src/tools/neorados.cc	2024-03-03 19:54:51.414457588 +0100
 +++ ceph-17.2.7.mod/src/tools/neorados.cc	2024-03-03 15:18:02.793213584 +0100
 @@ -143,7 +143,7 @@
@@ -105,3 +96,89 @@
  }
  
  static constexpr auto version = std::make_tuple(0ul, 0ul, 1ul);
+--- ceph-18.2.3/src/osd/scrubber/pg_scrubber.cc.orig	2024-04-24 21:57:21.000000000 +0200
++++ ceph-18.2.3/src/osd/scrubber/pg_scrubber.cc	2024-05-29 22:24:08.877821930 +0200
+@@ -1,14 +1,15 @@
+ // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
+ // vim: ts=2 sw=2 smarttab
+ 
++#include <fmt/chrono.h>
++#include <fmt/ranges.h>
++
+ #include "./pg_scrubber.h"  // '.' notation used to affect clang-format order
+ 
+ #include <cmath>
+ #include <iostream>
+ #include <vector>
+ 
+-#include <fmt/ranges.h>
+-
+ #include "debug.h"
+ 
+ #include "common/ceph_time.h"
+@@ -2818,7 +2819,7 @@ ReplicaReservations::no_reply_t::no_repl
+   m_abort_callback = new LambdaContext([this, now_is]([[maybe_unused]] int r) {
+     // behave as if a REJECT was received
+     m_osds->clog->warn() << fmt::format(
+-      "{} timeout on replica reservations (since {})", m_log_prfx, now_is);
++      "{} timeout on replica reservations (since {})", m_log_prfx, fmt::streamed(now_is));
+     m_parent.handle_no_reply_timeout();
+   });
+ 
+--- ceph-18.2.3/src/osd/osd_types_fmt.h.orig	2024-04-24 21:57:21.000000000 +0200
++++ ceph-18.2.3/src/osd/osd_types_fmt.h	2024-05-30 08:08:23.439099461 +0200
+@@ -57,7 +57,7 @@ struct fmt::formatter<chunk_info_t> {
+   constexpr auto parse(format_parse_context& ctx) { return ctx.begin(); }
+ 
+   template <typename FormatContext>
+-  auto format(const chunk_info_t& ci, FormatContext& ctx)
++  auto format(const chunk_info_t& ci, FormatContext& ctx) const
+   {
+     return fmt::format_to(ctx.out(), "(len: {} oid: {} offset: {} flags: {})",
+ 			  ci.length, ci.oid, ci.offset,
+--- ceph-18.2.3/src/osd/scrubber/scrub_backend.cc.orig	2024-04-24 21:57:21.000000000 +0200
++++ ceph-18.2.3/src/osd/scrubber/scrub_backend.cc	2024-05-30 08:44:07.822017763 +0200
+@@ -1,12 +1,12 @@
+ // -*- m_mode_desc:C++; tab-width:8; c-basic-offset:2; indent-tabs-m_mode_desc:t
+ // -*- vim: ts=2 sw=2 smarttab
+ 
++#include <fmt/ranges.h>
++
+ #include "./scrub_backend.h"
+ 
+ #include <algorithm>
+ 
+-#include <fmt/ranges.h>
+-
+ #include "common/debug.h"
+ 
+ #include "include/utime_fmt.h"
+--- ceph-18.2.3/src/osd/SnapMapper.cc.orig	2024-04-24 21:57:21.000000000 +0200
++++ ceph-18.2.3/src/osd/SnapMapper.cc	2024-05-30 10:36:46.329449365 +0200
+@@ -211,7 +211,7 @@ string SnapMapper::get_prefix(int64_t po
+   return fmt::sprintf("%s%lld_%.16X_",
+ 		      MAPPING_PREFIX,
+ 		      pool,
+-		      snap);
++		      snap.val);
+ }
+ 
+ string SnapMapper::to_raw_key(
+@@ -650,7 +650,7 @@ string SnapMapper::make_purged_snap_key(
+   return fmt::sprintf("%s_%lld_%016llx",
+ 		      PURGED_SNAP_PREFIX,
+ 		      pool,
+-		      last);
++		      last.val);
+ }
+ 
+ void SnapMapper::make_purged_snap_key_value(
+@@ -866,7 +866,7 @@ string SnapMapper::get_legacy_prefix(sna
+ {
+   return fmt::sprintf("%s%.16X_",
+ 		      LEGACY_MAPPING_PREFIX,
+-		      snap);
++		      snap.val);
+ }
+ 
+ string SnapMapper::to_legacy_raw_key(
diff --git a/ceph-python.patch b/ceph-python.patch
index 54fae5d..fc6c455 100644
--- a/ceph-python.patch
+++ b/ceph-python.patch
@@ -27,3 +27,14 @@
      else()
        list(APPEND options --root=/)
      endif()
+--- ceph-18.2.3/src/cephadm/build.py.orig	2024-04-24 21:57:21.000000000 +0200
++++ ceph-18.2.3/src/cephadm/build.py	2024-05-30 20:51:47.139755410 +0200
+@@ -85,7 +85,7 @@ def _compile(dest, tempdir):
+         maxlevels=16,
+         legacy=True,
+         quiet=1,
+-        workers=0,
++        workers=1,
+     )
+     # TODO we could explicitly pass a python version here
+     log.info("Constructing the zipapp file")
diff --git a/ceph-qat.patch b/ceph-qat.patch
index 0954baa..76d5380 100644
--- a/ceph-qat.patch
+++ b/ceph-qat.patch
@@ -62,10 +62,10 @@
      set_target_properties(QatDrv::${component} PROPERTIES
                            INTERFACE_INCLUDE_DIRECTORIES "${QatDrv_INCLUDE_DIRS}"
                            IMPORTED_LINK_INTERFACE_LANGUAGES "C"
---- ceph-17.2.3/src/compressor/CMakeLists.txt.orig	2022-07-28 23:52:12.000000000 +0200
-+++ ceph-17.2.3/src/compressor/CMakeLists.txt	2022-08-28 18:59:38.018324891 +0200
-@@ -7,8 +7,8 @@ endif()
- add_library(compressor_objs OBJECT ${compressor_srcs})
+--- ceph-18.2.3/src/compressor/CMakeLists.txt.orig	2024-05-28 22:34:42.686872365 +0200
++++ ceph-18.2.3/src/compressor/CMakeLists.txt	2024-05-28 22:35:39.740566246 +0200
+@@ -8,8 +8,8 @@ add_library(compressor_objs OBJECT ${com
+ add_dependencies(compressor_objs common-objs)
  if(HAVE_QATZIP AND HAVE_QATDRV)
    target_link_libraries(compressor_objs PRIVATE
 -                        QatDrv::qat_s
@@ -100,3 +100,40 @@
  }
  
  class QccCrypto {
+--- ceph-18.2.3/src/compressor/QatAccel.cc.orig	2024-04-24 21:57:21.000000000 +0200
++++ ceph-18.2.3/src/compressor/QatAccel.cc	2024-05-29 20:08:56.061825894 +0200
+@@ -42,14 +42,20 @@ void QzSessionDeleter::operator() (struc
+   delete session;
+ }
+ 
+-static bool get_qz_params(const std::string &alg, QzSessionParams_T &params) {
++static bool get_qz_params(const std::string &alg, QzSessionParams_T &params, QzSessionParamsDeflate_T &deflate_params) {
+   int rc;
+   rc = qzGetDefaults(&params);
+   if (rc != QZ_OK)
+     return false;
+   params.direction = QZ_DIR_BOTH;
+-  params.is_busy_polling = true;
+   if (alg == "zlib") {
++    rc = qzGetDefaultsDeflate(&deflate_params);
++    if (rc != QZ_OK)
++      return false;
++    deflate_params.common_params.polling_mode = QZ_BUSY_POLLING;
++    rc = qzSetDefaultsDeflate(&deflate_params);
++    if (rc != QZ_OK)
++      return false;
+     params.comp_algorithm = QZ_DEFLATE;
+     params.data_fmt = QZ_DEFLATE_RAW;
+     params.comp_lvl = g_ceph_context->_conf->compressor_zlib_level;
+@@ -114,9 +120,10 @@ QatAccel::session_ptr QatAccel::get_sess
+   // If there are no available session to use, we try allocate a new
+   // session.
+   QzSessionParams_T params = {(QzHuffmanHdr_T)0,};
++  QzSessionParamsDeflate_T deflate_params = {};
+   session_ptr session(new struct QzSession_S());
+   memset(session.get(), 0, sizeof(struct QzSession_S));
+-  if (get_qz_params(alg_name, params) && setup_session(session, params)) {
++  if (get_qz_params(alg_name, params, deflate_params) && setup_session(session, params)) {
+     return session;
+   } else {
+     return nullptr;
diff --git a/no-virtualenvs.patch b/no-virtualenvs.patch
index 6d0a31b..4b86983 100644
--- a/no-virtualenvs.patch
+++ b/no-virtualenvs.patch
@@ -55,8 +55,8 @@ index 9166553dc73..9a6c87595b9 100644
  add_custom_target(ceph-volume-venv-setup
    DEPENDS ${CEPH_VOLUME_VIRTUALENV}/bin/ceph-volume)
  
---- ceph-17.2.6/src/pybind/mgr/dashboard/frontend/CMakeLists.txt.orig	2023-04-05 17:09:51.000000000 +0200
-+++ ceph-17.2.6/src/pybind/mgr/dashboard/frontend/CMakeLists.txt	2023-07-23 18:16:30.189120508 +0200
+--- ceph-18.2.3/src/pybind/mgr/dashboard/frontend/CMakeLists.txt.orig	2024-04-24 21:57:21.000000000 +0200
++++ ceph-18.2.3/src/pybind/mgr/dashboard/frontend/CMakeLists.txt	2024-05-28 22:14:17.752405303 +0200
 @@ -5,17 +5,10 @@ function(add_npm_command)
    set(multi_kw COMMAND DEPENDS)
    cmake_parse_arguments(NC "${options}" "${single_kw}" "${multi_kw}" ${ARGN})
@@ -75,7 +75,7 @@ index 9166553dc73..9a6c87595b9 100644
    string(REPLACE " " ";" command "${command}")
    add_custom_command(
      OUTPUT "${NC_OUTPUT}"
-@@ -36,9 +29,7 @@ function(add_npm_options)
+@@ -36,9 +29,8 @@ function(add_npm_options)
      list(GET opt 1 value)
      list(APPEND commands
        COMMAND
@@ -83,20 +83,21 @@ index 9166553dc73..9a6c87595b9 100644
 -      npm config set ${key} ${value} --userconfig ${NC_NODEENV_DIR}/.npmrc &&
 -      deactivate)
 +      npm config set ${key} ${value} --userconfig ${NC_NODEENV_DIR}/.npmrc
++      )
    endforeach()
+   set(npm_config_python ${MGR_PYTHON_EXECUTABLE})
    add_custom_target(${NC_TARGET}
-     ${commands}
-@@ -60,11 +51,8 @@ else(WITH_SYSTEM_NPM)
+@@ -61,11 +53,8 @@ else(WITH_SYSTEM_NPM)
      set(node_mirror_opt "--mirror=$ENV{NODE_MIRROR}")
    endif()
    add_custom_command(
 -    OUTPUT "${mgr-dashboard-nodeenv-dir}/bin/npm"
 -    COMMAND ${CMAKE_SOURCE_DIR}/src/tools/setup-virtualenv.sh --python=${MGR_PYTHON_EXECUTABLE} ${mgr-dashboard-nodeenv-dir}
 -    COMMAND ${mgr-dashboard-nodeenv-dir}/bin/pip install nodeenv
--    COMMAND ${mgr-dashboard-nodeenv-dir}/bin/nodeenv --verbose ${node_mirror_opt} -p --node=14.15.1
+-    COMMAND ${mgr-dashboard-nodeenv-dir}/bin/nodeenv --verbose ${node_mirror_opt} -p --node=18.17.0
 -    COMMAND mkdir ${mgr-dashboard-nodeenv-dir}/.npm
 +    OUTPUT "/bin/npm"
-+    COMMAND /bin/nodeenv --verbose ${node_mirror_opt} -p --node=14.15.1
++    COMMAND /bin/nodeenv --verbose ${node_mirror_opt} -p --node=18.17.0
      WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
      COMMENT "dashboard nodeenv is being installed")
    if(DEFINED ENV{NPM_REGISTRY})
diff --git a/types.patch b/types.patch
index d078d56..becbb67 100644
--- a/types.patch
+++ b/types.patch
@@ -20,17 +20,6 @@
    };
    if (alloc[dev]) {
      alloc[dev]->foreach(iterated_allocation);
---- ceph-16.2.7/src/librbd/object_map/DiffRequest.cc.orig	2021-12-07 17:15:49.000000000 +0100
-+++ ceph-16.2.7/src/librbd/object_map/DiffRequest.cc	2022-02-12 22:17:55.163378523 +0100
-@@ -187,7 +187,7 @@
-     m_object_map.resize(m_object_diff_state->size());
-   }
- 
--  uint64_t overlap = std::min(m_object_map.size(), prev_object_diff_state_size);
-+  uint64_t overlap = std::min(m_object_map.size(), (uint64_t)prev_object_diff_state_size);
-   auto it = m_object_map.begin();
-   auto overlap_end_it = it + overlap;
-   auto diff_it = m_object_diff_state->begin();
 --- ceph-16.2.7/src/tools/neorados.cc~	2021-12-07 17:15:49.000000000 +0100
 +++ ceph-16.2.7/src/tools/neorados.cc	2022-02-12 22:23:25.836643956 +0100
 @@ -205,7 +205,7 @@
@@ -62,42 +51,6 @@
        for (auto &[peer, peer_replayer] : m_peer_replayers) {
          dout(10) << ": peer=" << peer << dendl;
          peer_replayer->remove_directory(dir_path);
---- ceph-17.2.2/src/os/bluestore/BlueStore.cc.orig	2022-07-21 19:29:33.000000000 +0200
-+++ ceph-17.2.2/src/os/bluestore/BlueStore.cc	2022-08-23 16:55:10.753944515 +0200
-@@ -18583,7 +18583,7 @@ int BlueStore::__restore_allocator(Alloc
-   uint64_t        extent_count       = 0;
-   uint64_t        extents_bytes_left = file_size - (header_size + trailer_size + sizeof(crc));
-   while (extents_bytes_left) {
--    int req_bytes  = std::min(extents_bytes_left, sizeof(buffer));
-+    uint64_t req_bytes  = std::min<uint64_t>(extents_bytes_left, sizeof(buffer));
-     int read_bytes = bluefs->read(p_handle.get(), offset, req_bytes, nullptr, (char*)buffer);
-     if (read_bytes != req_bytes) {
-       derr << "Failed bluefs->read()::read_bytes=" << read_bytes << ", req_bytes=" << req_bytes << dendl;
---- ceph-17.2.2/src/rgw/store/dbstore/sqlite/sqliteDB.cc.orig	2022-07-21 19:29:33.000000000 +0200
-+++ ceph-17.2.2/src/rgw/store/dbstore/sqlite/sqliteDB.cc	2022-08-24 06:15:01.162110603 +0200
-@@ -514,8 +514,10 @@ static int list_lc_head(const DoutPrefix
- 
-   op.lc_head.index = (const char*)sqlite3_column_text(stmt, LCHeadIndex);
-   op.lc_head.head.marker = (const char*)sqlite3_column_text(stmt, LCHeadMarker);
-- 
--  SQL_DECODE_BLOB_PARAM(dpp, stmt, LCHeadStartDate, op.lc_head.head.start_date, sdb);
-+
-+  { int64_t start_date;
-+  SQL_DECODE_BLOB_PARAM(dpp, stmt, LCHeadStartDate, start_date, sdb);
-+  op.lc_head.head.start_date = start_date; }
- 
-   return 0;
- }
-@@ -2773,7 +2775,8 @@ int SQLInsertLCHead::Bind(const DoutPref
-   SQL_BIND_TEXT(dpp, stmt, index, params->op.lc_head.head.marker.c_str(), sdb);
- 
-   SQL_BIND_INDEX(dpp, stmt, index, p_params.op.lc_head.start_date.c_str(), sdb);
--  SQL_ENCODE_BLOB_PARAM(dpp, stmt, index, params->op.lc_head.head.start_date, sdb);
-+  { int64_t start_date = params->op.lc_head.head.start_date;
-+  SQL_ENCODE_BLOB_PARAM(dpp, stmt, index, start_date, sdb); }
- 
- out:
-   return rc;
 --- ceph-17.2.3/src/seastar/src/core/file.cc.orig	2021-12-19 23:02:10.000000000 +0100
 +++ ceph-17.2.3/src/seastar/src/core/file.cc	2022-08-28 09:19:17.258501014 +0200
 @@ -313,7 +313,7 @@ posix_file_impl::close() noexcept {
@@ -118,15 +71,6 @@
  }
  
  future<>
-@@ -996,7 +996,7 @@ make_file_impl(int fd, file_open_options
-                 engine().fstatfs(fd).then([fd, st_dev] (struct statfs sfs) {
-                     internal::fs_info fsi;
-                     fsi.block_size = sfs.f_bsize;
--                    switch (sfs.f_type) {
-+                    switch (static_cast<unsigned>(sfs.f_type)) {
-                     case 0x58465342: /* XFS */
-                         dioattr da;
-                         if (::ioctl(fd, XFS_IOC_DIOINFO, &da) == 0) {
 --- ceph-17.2.3/src/seastar/src/core/fstream.cc.orig	2021-12-19 23:02:10.000000000 +0100
 +++ ceph-17.2.3/src/seastar/src/core/fstream.cc	2022-08-28 09:22:32.072057177 +0200
 @@ -419,7 +419,7 @@ private:
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/ceph.git/commitdiff/8e616c49ffb39ea14d1ce7f3cc69daf629da1f52



More information about the pld-cvs-commit mailing list