From: Jason Dillaman Date: Wed, 27 Jan 2021 14:12:58 +0000 (-0500) Subject: librbd: tweaks to support Boost 1.75.0 X-Git-Tag: v17.1.0~3142^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F39105%2Fhead;p=ceph.git librbd: tweaks to support Boost 1.75.0 Fixes: https://tracker.ceph.com/issues/48989 Signed-off-by: Jason Dillaman --- diff --git a/src/librbd/AsioEngine.h b/src/librbd/AsioEngine.h index d2730fd9880..0f476d80b2a 100644 --- a/src/librbd/AsioEngine.h +++ b/src/librbd/AsioEngine.h @@ -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(); } diff --git a/src/librbd/migration/FileStream.cc b/src/librbd/migration/FileStream.cc index 8d69b7f63d7..63cd722dd3c 100644 --- a/src/librbd/migration/FileStream.cc +++ b/src/librbd/migration/FileStream.cc @@ -121,7 +121,8 @@ struct FileStream::ReadRequest { template FileStream::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 diff --git a/src/librbd/migration/FileStream.h b/src/librbd/migration/FileStream.h index 06ef591b581..32face71e1c 100644 --- a/src/librbd/migration/FileStream.h +++ b/src/librbd/migration/FileStream.h @@ -6,7 +6,8 @@ #include "include/int_types.h" #include "librbd/migration/StreamInterface.h" -#include +#include +#include #include #include #include @@ -48,7 +49,7 @@ private: std::shared_ptr m_asio_engine; json_spirit::mObject m_json_object; - boost::asio::io_context::strand m_strand; + boost::asio::strand m_strand; #ifdef BOOST_ASIO_HAS_POSIX_STREAM_DESCRIPTOR std::optional m_stream_descriptor; diff --git a/src/librbd/migration/HttpClient.cc b/src/librbd/migration/HttpClient.cc index 0cc51ddd861..679c2bb0733 100644 --- a/src/librbd/migration/HttpClient.cc +++ b/src/librbd/migration/HttpClient.cc @@ -764,7 +764,8 @@ private: template HttpClient::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(); } diff --git a/src/librbd/migration/HttpClient.h b/src/librbd/migration/HttpClient.h index bab1a29abca..3997e6159e7 100644 --- a/src/librbd/migration/HttpClient.h +++ b/src/librbd/migration/HttpClient.h @@ -9,7 +9,8 @@ #include "librbd/io/Types.h" #include "librbd/migration/HttpProcessorInterface.h" #include "librbd/migration/Types.h" -#include +#include +#include #include #include #include @@ -171,7 +172,7 @@ private: HttpProcessorInterface* m_http_processor = nullptr; - boost::asio::io_context::strand m_strand; + boost::asio::strand m_strand; boost::asio::ssl::context m_ssl_context; std::unique_ptr m_http_session;