if (sub_release_time > release_time) {
release_time = sub_release_time;
}
---- src/mon/MDSMonitor.cc.orig 2019-06-03 22:46:11.352201283 +0200
-+++ src/mon/MDSMonitor.cc 2019-06-03 22:46:23.110188378 +0200
-@@ -14,6 +14,7 @@
-
+--- src/mon/MDSMonitor.cc.orig 2020-05-28 07:26:02.363159480 +0200
++++ src/mon/MDSMonitor.cc 2020-05-28 07:28:02.559174989 +0200
+@@ -15,6 +15,7 @@
#include <sstream>
#include <boost/utility.hpp>
+ #include <boost/regex.hpp>
+#include <boost/next_prior.hpp>
#include "MDSMonitor.h"
- #include "Monitor.h"
+ #include "FSCommands.h"
+--- CMakeLists.txt.orig 2020-01-30 21:52:36.000000000 +0100
++++ CMakeLists.txt 2020-05-28 16:50:46.412927163 +0200
+@@ -563,7 +563,7 @@
+ set(BOOST_HEADER_COMPONENTS container)
+
+ if(WITH_MGR)
+- list(APPEND BOOST_COMPONENTS python)
++ list(APPEND BOOST_COMPONENTS python27)
+ endif()
+ if(WITH_BOOST_CONTEXT)
+ list(APPEND BOOST_COMPONENTS context coroutine)
+--- src/CMakeLists.txt.orig 2020-01-30 21:52:36.000000000 +0100
++++ src/CMakeLists.txt 2020-05-28 20:58:47.848974172 +0200
+@@ -722,7 +722,7 @@
+ $<TARGET_OBJECTS:heap_profiler_objs>)
+ target_include_directories(ceph-mgr PRIVATE "${PYTHON_INCLUDE_DIRS}")
+ target_link_libraries(ceph-mgr osdc client global-static common
+- Boost::python ${PYTHON_LIBRARIES} ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} ${ALLOC_LIBS})
++ Boost::python27 ${PYTHON_LIBRARIES} ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} ${ALLOC_LIBS})
+ install(TARGETS ceph-mgr DESTINATION bin)
+ endif (WITH_MGR)
+
+--- src/test/librbd/test_mock_Journal.cc.orig 2020-01-30 21:52:36.000000000 +0100
++++ src/test/librbd/test_mock_Journal.cc 2020-05-29 06:26:16.934514447 +0200
+@@ -482,7 +482,7 @@
+ expect_get_max_append_size(mock_journaler, 1 << 16);
+ expect_start_replay(
+ mock_image_ctx, mock_journaler,
+- std::bind(&invoke_replay_complete, _1, 0));
++ std::bind(&invoke_replay_complete, std::placeholders::_1, 0));
+
+ MockJournalReplay mock_journal_replay;
+ expect_stop_replay(mock_journaler);
+@@ -531,7 +531,7 @@
+ expect_get_max_append_size(mock_journaler, 1 << 16);
+ expect_start_replay(
+ mock_image_ctx, mock_journaler,
+- std::bind(&invoke_replay_ready, _1));
++ std::bind(&invoke_replay_ready, std::placeholders::_1));
+
+ ::journal::MockReplayEntry mock_replay_entry;
+ MockJournalReplay mock_journal_replay;
+@@ -540,11 +540,11 @@
+ expect_try_pop_front(mock_image_ctx, mock_journaler, true, mock_replay_entry);
+ expect_replay_process(mock_journal_replay);
+ expect_try_pop_front(mock_image_ctx, mock_journaler, false, mock_replay_entry,
+- std::bind(&invoke_replay_ready, _1));
++ std::bind(&invoke_replay_ready, std::placeholders::_1));
+ expect_try_pop_front(mock_image_ctx, mock_journaler, true, mock_replay_entry);
+ expect_replay_process(mock_journal_replay);
+ expect_try_pop_front(mock_image_ctx, mock_journaler, false, mock_replay_entry,
+- std::bind(&invoke_replay_complete, _1, 0));
++ std::bind(&invoke_replay_complete, std::placeholders::_1, 0));
+
+ expect_stop_replay(mock_journaler);
+ expect_shut_down_replay(mock_image_ctx, mock_journal_replay, 0);
+@@ -601,7 +601,7 @@
+ expect_get_max_append_size(mock_journaler, 1 << 16);
+ expect_start_replay(
+ mock_image_ctx, mock_journaler,
+- std::bind(&invoke_replay_complete, _1, -EINVAL));
++ std::bind(&invoke_replay_complete, std::placeholders::_1, -EINVAL));
+
+ MockJournalReplay mock_journal_replay;
+ expect_stop_replay(mock_journaler);
+@@ -616,7 +616,7 @@
+ expect_get_max_append_size(mock_journaler, 1 << 16);
+ expect_start_replay(
+ mock_image_ctx, mock_journaler,
+- std::bind(&invoke_replay_complete, _1, 0));
++ std::bind(&invoke_replay_complete, std::placeholders::_1, 0));
+
+ expect_stop_replay(mock_journaler);
+ expect_shut_down_replay(mock_image_ctx, mock_journal_replay, 0);
+@@ -649,14 +649,14 @@
+ expect_get_max_append_size(mock_journaler, 1 << 16);
+ expect_start_replay(
+ mock_image_ctx, mock_journaler,
+- std::bind(&invoke_replay_ready, _1));
++ std::bind(&invoke_replay_ready, std::placeholders::_1));
+
+ ::journal::MockReplayEntry mock_replay_entry;
+ MockJournalReplay mock_journal_replay;
+ expect_try_pop_front(mock_image_ctx, mock_journaler, true, mock_replay_entry);
+ expect_replay_process(mock_journal_replay);
+ expect_try_pop_front(mock_image_ctx, mock_journaler, false, mock_replay_entry,
+- std::bind(&invoke_replay_complete, _1, 0));
++ std::bind(&invoke_replay_complete, std::placeholders::_1, 0));
+ expect_stop_replay(mock_journaler);
+ expect_shut_down_replay(mock_image_ctx, mock_journal_replay, -EINVAL);
+ expect_flush_commit_position(mock_journaler);
+@@ -669,7 +669,7 @@
+ expect_get_max_append_size(mock_journaler, 1 << 16);
+ expect_start_replay(
+ mock_image_ctx, mock_journaler,
+- std::bind(&invoke_replay_complete, _1, 0));
++ std::bind(&invoke_replay_complete, std::placeholders::_1, 0));
+
+ expect_stop_replay(mock_journaler);
+ expect_shut_down_replay(mock_image_ctx, mock_journal_replay, 0);
+@@ -702,7 +702,7 @@
+ expect_get_max_append_size(mock_journaler, 1 << 16);
+ expect_start_replay(
+ mock_image_ctx, mock_journaler,
+- std::bind(&invoke_replay_ready, _1));
++ std::bind(&invoke_replay_ready, std::placeholders::_1));
+
+ ::journal::MockReplayEntry mock_replay_entry;
+ MockJournalReplay mock_journal_replay;
+@@ -720,7 +720,7 @@
+ expect_get_max_append_size(mock_journaler, 1 << 16);
+ expect_start_replay(
+ mock_image_ctx, mock_journaler,
+- std::bind(&invoke_replay_complete, _1, 0));
++ std::bind(&invoke_replay_complete, std::placeholders::_1, 0));
+ expect_stop_replay(mock_journaler);
+ expect_shut_down_replay(mock_image_ctx, mock_journal_replay, 0);
+ expect_flush_commit_position(mock_journaler);
+@@ -752,7 +752,7 @@
+ expect_get_max_append_size(mock_journaler, 1 << 16);
+ expect_start_replay(
+ mock_image_ctx, mock_journaler,
+- std::bind(&invoke_replay_complete, _1, 0));
++ std::bind(&invoke_replay_complete, std::placeholders::_1, 0));
+
+ MockJournalReplay mock_journal_replay;
+ expect_stop_replay(mock_journaler);
+@@ -786,7 +786,7 @@
+
+ expect_start_replay(
+ mock_image_ctx, mock_journaler,
+- std::bind(&invoke_replay_ready, _1));
++ std::bind(&invoke_replay_ready, std::placeholders::_1));
+
+ ::journal::MockReplayEntry mock_replay_entry;
+ MockJournalReplay mock_journal_replay;
+@@ -813,7 +813,7 @@
+ expect_get_max_append_size(mock_journaler, 1 << 16);
+ expect_start_replay(
+ mock_image_ctx, mock_journaler, {
+- std::bind(&invoke_replay_complete, _1, 0)
++ std::bind(&invoke_replay_complete, std::placeholders::_1, 0)
+ });
+
+ expect_stop_replay(mock_journaler);
+@@ -868,14 +868,14 @@
+ expect_get_max_append_size(mock_journaler, 1 << 16);
+ expect_start_replay(
+ mock_image_ctx, mock_journaler,
+- std::bind(&invoke_replay_ready, _1));
++ std::bind(&invoke_replay_ready, std::placeholders::_1));
+
+ ::journal::MockReplayEntry mock_replay_entry;
+ MockJournalReplay mock_journal_replay;
+ expect_try_pop_front(mock_image_ctx, mock_journaler, true, mock_replay_entry);
+ expect_replay_process(mock_journal_replay);
+ expect_try_pop_front(mock_image_ctx, mock_journaler, false, mock_replay_entry,
+- std::bind(&invoke_replay_complete, _1, 0));
++ std::bind(&invoke_replay_complete, std::placeholders::_1, 0));
+ expect_stop_replay(mock_journaler);
+
+ Context *on_flush = nullptr;
+@@ -892,7 +892,7 @@
+ expect_get_max_append_size(mock_journaler, 1 << 16);
+ expect_start_replay(
+ mock_image_ctx, mock_journaler,
+- std::bind(&invoke_replay_complete, _1, 0));
++ std::bind(&invoke_replay_complete, std::placeholders::_1, 0));
+
+ expect_stop_replay(mock_journaler);
+ expect_shut_down_replay(mock_image_ctx, mock_journal_replay, 0);
+--- src/test/lazy-omap-stats/lazy_omap_stats_test.cc.orig 2020-01-30 21:52:36.000000000 +0100
++++ src/test/lazy-omap-stats/lazy_omap_stats_test.cc 2020-05-29 08:04:42.179189658 +0200
+@@ -331,7 +331,7 @@
+ vector<string> tokens(tok.begin(), tok.end());
+ auto it = find(tokens.begin(), tokens.end(), label);
+ if (it != tokens.end()) {
+- return distance(tokens.begin(), it);
++ return std::distance(tokens.begin(), it);
+ }
+
+ cerr << "find_index failed to find index for " << label << endl;