Merge ~lmlogiudice/ubuntu/+source/ceph:kinetic-fixes into ~ubuntu-server-dev/ubuntu/+source/ceph:ubuntu/kinetic

Proposed by Chris MacNaughton
Status: Merged
Merged at revision: 8047db8891da3ff29c3f53f0e40730aec4437d39
Proposed branch: ~lmlogiudice/ubuntu/+source/ceph:kinetic-fixes
Merge into: ~ubuntu-server-dev/ubuntu/+source/ceph:ubuntu/kinetic
Diff against target: 162 lines (+134/-0)
4 files modified
debian/changelog (+7/-0)
debian/patches/fix-kinetic-libfmt.patch (+82/-0)
debian/patches/fix-kinetic-misc.patch (+43/-0)
debian/patches/series (+2/-0)
Reviewer Review Type Date Requested Status
James Page Needs Fixing
Review via email: mp+430156@code.launchpad.net
To post a comment you must log in.
Revision history for this message
James Page (james-page) :
review: Needs Fixing
Revision history for this message
James Page (james-page) :

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/debian/changelog b/debian/changelog
2index e3e345c..2b1fdb6 100644
3--- a/debian/changelog
4+++ b/debian/changelog
5@@ -1,3 +1,10 @@
6+ceph (17.2.0-0ubuntu3) kinetic; urgency=medium
7+
8+ * d/p/fix-kinetic-libfmt.patch: Apply fixes for libfmt > 8
9+ * d/p/fix-kinetic-misc.patch: Misc. fixes for Ubuntu Kinetic
10+
11+ -- Luciano Lo Giudice <luciano.logiudice@canonical.com> Wed, 21 Sep 2022 18:44:43 -0300
12+
13 ceph (17.2.0-0ubuntu2) kinetic; urgency=medium
14
15 * d/p/lp1986747-fix-osd-class-dir.patch: Fix rados-classes
16diff --git a/debian/patches/fix-kinetic-libfmt.patch b/debian/patches/fix-kinetic-libfmt.patch
17new file mode 100644
18index 0000000..c84dc65
19--- /dev/null
20+++ b/debian/patches/fix-kinetic-libfmt.patch
21@@ -0,0 +1,82 @@
22+Description: Build fixes for libfmt > 8
23+Author: Luciano Lo Giudice <luciano.logiudice@canonical.com>
24+Forwarded: No
25+
26+---
27+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
28+index 30cf360546..eb37a459ab 100644
29+--- a/src/CMakeLists.txt
30++++ b/src/CMakeLists.txt
31+@@ -78,6 +78,7 @@ add_definitions(
32+ -D_THREAD_SAFE
33+ -D__STDC_FORMAT_MACROS
34+ -D_FILE_OFFSET_BITS=64
35++ -DFMT_DEPRECATED_OSTREAM
36+ -DBOOST_ASIO_DISABLE_THREAD_KEYWORD_EXTENSION)
37+ if(Boost_VERSION VERSION_GREATER_EQUAL 1.74)
38+ add_definitions(-DBOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT)
39+diff --git a/src/crimson/admin/osd_admin.cc b/src/crimson/admin/osd_admin.cc
40+index e832045883..59c8696bd0 100644
41+--- a/src/crimson/admin/osd_admin.cc
42++++ b/src/crimson/admin/osd_admin.cc
43+@@ -299,7 +299,7 @@ static ghobject_t test_ops_get_object_name(
44+ // the return type of `fmt::format` is `std::string`
45+ using namespace fmt::literals;
46+ throw std::invalid_argument{
47+- "Invalid pool '{}'"_format(*pool_arg)
48++ fmt::format("Invalid pool '{}'", *pool_arg)
49+ };
50+ }
51+ return pool;
52+diff --git a/src/crimson/os/seastore/onode_manager/staged-fltree/node_extent_accessor.h b/src/crimson/os/seastore/onode_manager/staged-fltree/node_extent_accessor.h
53+index 379583523d..10cdeab1ad 100644
54+--- a/src/crimson/os/seastore/onode_manager/staged-fltree/node_extent_accessor.h
55++++ b/src/crimson/os/seastore/onode_manager/staged-fltree/node_extent_accessor.h
56+@@ -206,7 +206,7 @@ class DeltaRecorderT final: public DeltaRecorder {
57+ default:
58+ SUBERROR(seastore_onode,
59+ "got unknown op {} when replay {}",
60+- op, node);
61++ static_cast<int>(op), node);
62+ ceph_abort("fatal error");
63+ }
64+ } catch (buffer::error& e) {
65+diff --git a/src/crimson/os/seastore/seastore.cc b/src/crimson/os/seastore/seastore.cc
66+index eb166b1ad3..408211a744 100644
67+--- a/src/crimson/os/seastore/seastore.cc
68++++ b/src/crimson/os/seastore/seastore.cc
69+@@ -124,7 +124,7 @@ void SeaStore::register_metrics()
70+
71+ for (auto& [op_type, label] : labels_by_op_type) {
72+ auto desc = fmt::format("latency of seastore operation (optype={})",
73+- op_type);
74++ static_cast<int>(op_type));
75+ metrics.add_group(
76+ "seastore",
77+ {
78+diff --git a/src/mon/LogMonitor.cc b/src/mon/LogMonitor.cc
79+index 9103ddf7c5..c196e8429f 100644
80+--- a/src/mon/LogMonitor.cc
81++++ b/src/mon/LogMonitor.cc
82+@@ -411,7 +411,7 @@ void LogMonitor::log_external(const LogEntry& le)
83+ }
84+
85+ if (fd >= 0) {
86+- fmt::format_to(file_log_buffer, "{}\n", le);
87++ fmt::format_to(std::back_inserter(file_log_buffer), "{}\n", le);
88+ int err = safe_write(fd, file_log_buffer.data(), file_log_buffer.size());
89+ file_log_buffer.clear();
90+ if (err < 0) {
91+diff --git a/src/test/crimson/seastore/onode_tree/test_value.h b/src/test/crimson/seastore/onode_tree/test_value.h
92+index 4a2a21b98f..cb826a46f3 100644
93+--- a/src/test/crimson/seastore/onode_tree/test_value.h
94++++ b/src/test/crimson/seastore/onode_tree/test_value.h
95+@@ -138,7 +138,7 @@ class TestValue final : public Value {
96+ }
97+ default:
98+ logger().error("OTree::TestValue::Replay: got unknown op {} when replay {:#x}+{:#x}",
99+- op, value_addr, payload_mut.get_length());
100++ static_cast<int>(op), value_addr, payload_mut.get_length());
101+ ceph_abort();
102+ }
103+ } catch (buffer::error& e) {
104diff --git a/debian/patches/fix-kinetic-misc.patch b/debian/patches/fix-kinetic-misc.patch
105new file mode 100644
106index 0000000..d62e0dc
107--- /dev/null
108+++ b/debian/patches/fix-kinetic-misc.patch
109@@ -0,0 +1,43 @@
110+Description: Build fixes for Ubuntu Kinetic
111+Author: Luciano Lo Giudice <luciano.logiudice@canonical.com>
112+Forwarded: No
113+
114+---
115+diff --git a/src/common/dout.h b/src/common/dout.h
116+index 421222d535..aa4bd8a699 100644
117+--- a/src/common/dout.h
118++++ b/src/common/dout.h
119+@@ -103,7 +103,7 @@ struct dynamic_marker_t {
120+ };
121+
122+ template<typename T>
123+-dynamic_marker_t<T> need_dynamic(T&& t) {
124++constexpr dynamic_marker_t<T> need_dynamic(T&& t) {
125+ return dynamic_marker_t<T>{ std::forward<T>(t) };
126+ }
127+
128+diff --git a/src/include/buffer.h b/src/include/buffer.h
129+index 0c89367dd3..f8fd9573f0 100644
130+--- a/src/include/buffer.h
131++++ b/src/include/buffer.h
132+@@ -49,6 +49,7 @@
133+
134+ #include <exception>
135+ #include <type_traits>
136++#include <memory>
137+
138+ #include "page.h"
139+ #include "crc32c.h"
140+diff --git a/src/spdk/lib/iscsi/iscsi.c b/src/spdk/lib/iscsi/iscsi.c
141+index febf4cac48..88cb41a52e 100644
142+--- a/src/spdk/lib/iscsi/iscsi.c
143++++ b/src/spdk/lib/iscsi/iscsi.c
144+@@ -62,7 +62,7 @@
145+ #define SPDK_CRC32C_INITIAL 0xffffffffUL
146+ #define SPDK_CRC32C_XOR 0xffffffffUL
147+
148+-#ifdef __FreeBSD__
149++#if defined(__FreeBSD__) || __has_include(<bsd/stdlib.h>)
150+ #define HAVE_SRANDOMDEV 1
151+ #define HAVE_ARC4RANDOM 1
152+ #endif
153diff --git a/debian/patches/series b/debian/patches/series
154index 6dcbb89..e8bed37 100644
155--- a/debian/patches/series
156+++ b/debian/patches/series
157@@ -13,3 +13,5 @@ spdk_top-string-format.patch
158 compress-common-depends.patch
159 spdk-fix-make-exe.patch
160 py310-py-ssize-t-compat.patch
161+fix-kinetic-libfmt.patch
162+fix-kinetic-misc.patch

Subscribers

People subscribed via source and target branches