]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
librbd: tweaks to support Boost 1.75.0 39105/head
authorJason Dillaman <dillaman@redhat.com>
Wed, 27 Jan 2021 14:12:58 +0000 (09:12 -0500)
committerJason Dillaman <dillaman@redhat.com>
Wed, 27 Jan 2021 14:12:58 +0000 (09:12 -0500)
Fixes: https://tracker.ceph.com/issues/48989
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
src/librbd/AsioEngine.h
src/librbd/migration/FileStream.cc
src/librbd/migration/FileStream.h
src/librbd/migration/HttpClient.cc
src/librbd/migration/HttpClient.h

index d2730fd98804ab215263124d06099d191125dbec..0f476d80b2a47f67dd54c8ef4516ee6430ade828 100644 (file)
@@ -39,7 +39,9 @@ public:
   inline operator boost::asio::io_context&() {
     return m_io_context;
   }
-  inline boost::asio::io_context::executor_type get_executor() {
+
+  using executor_type = boost::asio::io_context::executor_type;
+  inline executor_type get_executor() {
     return m_io_context.get_executor();
   }
 
index 8d69b7f63d70ba1d3fc9bd9fd523f94c63d025a5..63cd722dd3c5217aa3b885c4cb31c1bd3160a2de 100644 (file)
@@ -121,7 +121,8 @@ struct FileStream<I>::ReadRequest {
 template <typename I>
 FileStream<I>::FileStream(I* image_ctx, const json_spirit::mObject& json_object)
   : m_cct(image_ctx->cct), m_asio_engine(image_ctx->asio_engine),
-    m_json_object(json_object), m_strand(*m_asio_engine) {
+    m_json_object(json_object),
+    m_strand(boost::asio::make_strand(*m_asio_engine)) {
 }
 
 template <typename I>
index 06ef591b58189c8900dfd1c000530592976f2f64..32face71e1c56fbe1cb39c60e0211dce58efaaaa 100644 (file)
@@ -6,7 +6,8 @@
 
 #include "include/int_types.h"
 #include "librbd/migration/StreamInterface.h"
-#include <boost/asio/io_context_strand.hpp>
+#include <boost/asio/io_context.hpp>
+#include <boost/asio/strand.hpp>
 #include <boost/asio/posix/basic_stream_descriptor.hpp>
 #include <json_spirit/json_spirit.h>
 #include <memory>
@@ -48,7 +49,7 @@ private:
   std::shared_ptr<AsioEngine> m_asio_engine;
   json_spirit::mObject m_json_object;
 
-  boost::asio::io_context::strand m_strand;
+  boost::asio::strand<boost::asio::io_context::executor_type> m_strand;
 #ifdef BOOST_ASIO_HAS_POSIX_STREAM_DESCRIPTOR
   std::optional<boost::asio::posix::stream_descriptor> m_stream_descriptor;
 
index 0cc51ddd861bedd42b65ae63d5fafa45b6248bca..679c2bb0733803cd37c9a44933cbbf0699b65176 100644 (file)
@@ -764,7 +764,8 @@ private:
 template <typename I>
 HttpClient<I>::HttpClient(I* image_ctx, const std::string& url)
   : m_cct(image_ctx->cct), m_image_ctx(image_ctx),
-    m_asio_engine(image_ctx->asio_engine), m_url(url), m_strand(*m_asio_engine),
+    m_asio_engine(image_ctx->asio_engine), m_url(url),
+    m_strand(boost::asio::make_strand(*m_asio_engine)),
     m_ssl_context(boost::asio::ssl::context::sslv23_client) {
     m_ssl_context.set_default_verify_paths();
 }
index bab1a29abca6a976a7224ec06a4c28ccb7108c67..3997e6159e7e50be9375c9feac262d36aa62883f 100644 (file)
@@ -9,7 +9,8 @@
 #include "librbd/io/Types.h"
 #include "librbd/migration/HttpProcessorInterface.h"
 #include "librbd/migration/Types.h"
-#include <boost/asio/io_context_strand.hpp>
+#include <boost/asio/io_context.hpp>
+#include <boost/asio/strand.hpp>
 #include <boost/asio/ip/tcp.hpp>
 #include <boost/asio/ssl/context.hpp>
 #include <boost/beast/version.hpp>
@@ -171,7 +172,7 @@ private:
 
   HttpProcessorInterface* m_http_processor = nullptr;
 
-  boost::asio::io_context::strand m_strand;
+  boost::asio::strand<boost::asio::io_context::executor_type> m_strand;
 
   boost::asio::ssl::context m_ssl_context;
   std::unique_ptr<HttpSessionInterface> m_http_session;