diff -ur ceph-0.94.10/src/client/SyntheticClient.cc ceph-0.94.10-cxx/src/client/SyntheticClient.cc --- ceph-0.94.10/src/client/SyntheticClient.cc 2017-02-21 16:13:19.000000000 +0100 +++ ceph-0.94.10-cxx/src/client/SyntheticClient.cc 2017-04-29 12:25:26.633497617 +0200 @@ -601,7 +601,7 @@ int size = iargs.front(); iargs.pop_front(); int inflight = iargs.front(); iargs.pop_front(); if (run_me()) { - dout(2) << "createobjects " << cout << " of " << size << " bytes" + dout(2) << "createobjects " << cout.rdbuf() << " of " << size << " bytes" << ", " << inflight << " in flight" << dendl; create_objects(count, size, inflight); } @@ -617,7 +617,7 @@ int rskew = iargs.front(); iargs.pop_front(); int wskew = iargs.front(); iargs.pop_front(); if (run_me()) { - dout(2) << "objectrw " << cout << " " << size << " " << wrpc + dout(2) << "objectrw " << cout.rdbuf() << " " << size << " " << wrpc << " " << overlap << " " << rskew << " " << wskew << dendl; object_rw(count, size, wrpc, overlap, rskew, wskew); } diff -ur ceph-0.94.10/src/common/admin_socket.cc ceph-0.94.10-cxx/src/common/admin_socket.cc --- ceph-0.94.10/src/common/admin_socket.cc 2017-02-21 16:13:19.000000000 +0100 +++ ceph-0.94.10-cxx/src/common/admin_socket.cc 2017-04-29 09:57:25.062251956 +0200 @@ -352,7 +352,7 @@ stringstream errss; cmdvec.push_back(cmd); if (!cmdmap_from_json(cmdvec, &cmdmap, errss)) { - ldout(m_cct, 0) << "AdminSocket: " << errss << dendl; + ldout(m_cct, 0) << "AdminSocket: " << errss.rdbuf() << dendl; return false; } cmd_getval(m_cct, cmdmap, "format", format); diff -ur ceph-0.94.10/src/common/ceph_json.h ceph-0.94.10-cxx/src/common/ceph_json.h --- ceph-0.94.10/src/common/ceph_json.h 2017-02-21 16:13:19.000000000 +0100 +++ ceph-0.94.10-cxx/src/common/ceph_json.h 2017-04-29 11:13:38.925899980 +0200 @@ -198,7 +198,7 @@ JSONObj *o = *iter; JSONDecoder::decode_json("key", key, o); JSONDecoder::decode_json("val", val, o); - m.insert(make_pair(key, val)); + m.insert(make_pair(key, val)); } } diff -ur ceph-0.94.10/src/common/cmdparse.cc ceph-0.94.10-cxx/src/common/cmdparse.cc --- ceph-0.94.10/src/common/cmdparse.cc 2017-02-21 16:13:19.000000000 +0100 +++ ceph-0.94.10-cxx/src/common/cmdparse.cc 2017-04-29 09:58:13.362841243 +0200 @@ -224,7 +224,7 @@ BackTrace bt(1); ostringstream oss; bt.print(oss); - lderr(cct) << oss << dendl; + lderr(cct) << oss.rdbuf() << dendl; if (status == 0) free((char *)typestr); } diff -ur ceph-0.94.10/src/common/LogClient.h ceph-0.94.10-cxx/src/common/LogClient.h --- ceph-0.94.10/src/common/LogClient.h 2017-02-21 16:13:19.000000000 +0100 +++ ceph-0.94.10-cxx/src/common/LogClient.h 2017-04-29 09:55:08.930587122 +0200 @@ -137,7 +137,7 @@ } bool must_log_to_monitors() { return log_to_monitors; } - typedef shared_ptr Ref; + typedef std::shared_ptr Ref; /** * update config values from parsed k/v map for each config option diff -ur ceph-0.94.10/src/mds/CInode.cc ceph-0.94.10-cxx/src/mds/CInode.cc --- ceph-0.94.10/src/mds/CInode.cc 2017-02-21 16:13:19.000000000 +0100 +++ ceph-0.94.10-cxx/src/mds/CInode.cc 2017-04-29 10:44:49.563391124 +0200 @@ -3791,7 +3791,7 @@ f->dump_int("read_ret_val", backtrace.ondisk_read_retval); f->dump_stream("ondisk_value") << backtrace.ondisk_value; f->dump_stream("memoryvalue") << backtrace.memory_value; - f->dump_stream("error_str") << backtrace.error_str; + f->dump_stream("error_str") << backtrace.error_str.rdbuf(); } f->close_section(); // backtrace f->open_object_section("raw_rstats"); @@ -3801,7 +3801,7 @@ f->dump_int("read_ret_val", raw_rstats.ondisk_read_retval); f->dump_stream("ondisk_value") << raw_rstats.ondisk_value; f->dump_stream("memory_value") << raw_rstats.memory_value; - f->dump_stream("error_str") << raw_rstats.error_str; + f->dump_stream("error_str") << raw_rstats.error_str.rdbuf(); } f->close_section(); // raw_rstats // dump failure return code diff -ur ceph-0.94.10/src/mds/mdstypes.h ceph-0.94.10-cxx/src/mds/mdstypes.h --- ceph-0.94.10/src/mds/mdstypes.h 2017-02-21 16:13:19.000000000 +0100 +++ ceph-0.94.10-cxx/src/mds/mdstypes.h 2017-04-29 11:15:44.723963614 +0200 @@ -71,7 +71,7 @@ #define MDS_TRAVERSE_DISCOVERXLOCK 3 // succeeds on (foreign?) null, xlocked dentries. -BOOST_STRONG_TYPEDEF(int32_t, mds_rank_t) +typedef int32_t mds_rank_t; BOOST_STRONG_TYPEDEF(uint64_t, mds_gid_t) extern const mds_gid_t MDS_GID_NONE; extern const mds_rank_t MDS_RANK_NONE; diff -ur ceph-0.94.10/src/mon/OSDMonitor.cc ceph-0.94.10-cxx/src/mon/OSDMonitor.cc --- ceph-0.94.10/src/mon/OSDMonitor.cc 2017-02-21 16:13:19.000000000 +0100 +++ ceph-0.94.10-cxx/src/mon/OSDMonitor.cc 2017-04-29 10:17:06.705748922 +0200 @@ -4401,7 +4401,7 @@ if (err == 0) { k = erasure_code->get_data_chunk_count(); } else { - ss << __func__ << " get_erasure_code failed: " << tmp; + ss << __func__ << " get_erasure_code failed: " << tmp.rdbuf(); return err;; } diff -ur ceph-0.94.10/src/msg/simple/Pipe.cc ceph-0.94.10-cxx/src/msg/simple/Pipe.cc --- ceph-0.94.10/src/msg/simple/Pipe.cc 2017-02-21 16:13:19.000000000 +0100 +++ ceph-0.94.10-cxx/src/msg/simple/Pipe.cc 2017-04-29 10:05:09.937087135 +0200 @@ -181,7 +181,7 @@ void Pipe::DelayedDelivery::discard() { - lgeneric_subdout(pipe->msgr->cct, ms, 20) << pipe->_pipe_prefix(_dout) << "DelayedDelivery::discard" << dendl; + lgeneric_subdout(pipe->msgr->cct, ms, 20) << pipe->_pipe_prefix(_dout).rdbuf() << "DelayedDelivery::discard" << dendl; Mutex::Locker l(delay_lock); while (!delay_queue.empty()) { Message *m = delay_queue.front().second; @@ -193,7 +193,7 @@ void Pipe::DelayedDelivery::flush() { - lgeneric_subdout(pipe->msgr->cct, ms, 20) << pipe->_pipe_prefix(_dout) << "DelayedDelivery::flush" << dendl; + lgeneric_subdout(pipe->msgr->cct, ms, 20) << pipe->_pipe_prefix(_dout).rdbuf() << "DelayedDelivery::flush" << dendl; Mutex::Locker l(delay_lock); flush_count = delay_queue.size(); delay_cond.Signal(); @@ -202,11 +202,11 @@ void *Pipe::DelayedDelivery::entry() { Mutex::Locker locker(delay_lock); - lgeneric_subdout(pipe->msgr->cct, ms, 20) << pipe->_pipe_prefix(_dout) << "DelayedDelivery::entry start" << dendl; + lgeneric_subdout(pipe->msgr->cct, ms, 20) << pipe->_pipe_prefix(_dout).rdbuf() << "DelayedDelivery::entry start" << dendl; while (!stop_delayed_delivery) { if (delay_queue.empty()) { - lgeneric_subdout(pipe->msgr->cct, ms, 30) << pipe->_pipe_prefix(_dout) << "DelayedDelivery::entry sleeping on delay_cond because delay queue is empty" << dendl; + lgeneric_subdout(pipe->msgr->cct, ms, 30) << pipe->_pipe_prefix(_dout).rdbuf() << "DelayedDelivery::entry sleeping on delay_cond because delay queue is empty" << dendl; delay_cond.Wait(delay_lock); continue; } @@ -216,11 +216,11 @@ if (!flush_count && (release > ceph_clock_now(pipe->msgr->cct) && (delay_msg_type.empty() || m->get_type_name() == delay_msg_type))) { - lgeneric_subdout(pipe->msgr->cct, ms, 10) << pipe->_pipe_prefix(_dout) << "DelayedDelivery::entry sleeping on delay_cond until " << release << dendl; + lgeneric_subdout(pipe->msgr->cct, ms, 10) << pipe->_pipe_prefix(_dout).rdbuf() << "DelayedDelivery::entry sleeping on delay_cond until " << release << dendl; delay_cond.WaitUntil(delay_lock, release); continue; } - lgeneric_subdout(pipe->msgr->cct, ms, 10) << pipe->_pipe_prefix(_dout) << "DelayedDelivery::entry dequeuing message " << m << " for delivery, past " << release << dendl; + lgeneric_subdout(pipe->msgr->cct, ms, 10) << pipe->_pipe_prefix(_dout).rdbuf() << "DelayedDelivery::entry dequeuing message " << m << " for delivery, past " << release << dendl; delay_queue.pop_front(); if (flush_count > 0) { --flush_count; @@ -245,7 +245,7 @@ } active_flush = false; } - lgeneric_subdout(pipe->msgr->cct, ms, 20) << pipe->_pipe_prefix(_dout) << "DelayedDelivery::entry stop" << dendl; + lgeneric_subdout(pipe->msgr->cct, ms, 20) << pipe->_pipe_prefix(_dout).rdbuf() << "DelayedDelivery::entry stop" << dendl; return NULL; } diff -ur ceph-0.94.10/src/osd/PG.cc ceph-0.94.10-cxx/src/osd/PG.cc --- ceph-0.94.10/src/osd/PG.cc 2017-02-21 16:13:19.000000000 +0100 +++ ceph-0.94.10-cxx/src/osd/PG.cc 2017-04-29 10:54:40.743267753 +0200 @@ -3144,7 +3144,7 @@ info_struct_v < 8 ? OSD::make_pg_log_oid(pg_id) : pgmeta_oid, info, oss); if (oss.str().length()) - osd->clog->error() << oss; + osd->clog->error() << oss.rdbuf(); // log any weirdness log_weirdness(); diff -ur ceph-0.94.10/src/rgw/rgw_cache.cc ceph-0.94.10-cxx/src/rgw/rgw_cache.cc --- ceph-0.94.10/src/rgw/rgw_cache.cc 2017-02-21 16:13:19.000000000 +0100 +++ ceph-0.94.10-cxx/src/rgw/rgw_cache.cc 2017-04-29 11:09:17.823000713 +0200 @@ -105,7 +105,7 @@ for (liter = cache_entry_list.begin(); liter != cache_entry_list.end(); ++liter) { ObjectCacheEntry *entry = *liter; - entry->chained_entries.push_back(make_pair(chained_entry->cache, chained_entry->key)); + entry->chained_entries.push_back(make_pair(chained_entry->cache, chained_entry->key)); } return true; diff -ur ceph-0.94.10/src/test/librbd/test_ImageWatcher.cc ceph-0.94.10-cxx/src/test/librbd/test_ImageWatcher.cc --- ceph-0.94.10/src/test/librbd/test_ImageWatcher.cc 2017-02-21 16:13:19.000000000 +0100 +++ ceph-0.94.10-cxx/src/test/librbd/test_ImageWatcher.cc 2017-04-29 11:58:28.225636783 +0200 @@ -383,8 +383,7 @@ ASSERT_EQ(0, open_image(m_image_name, &ictx)); ASSERT_EQ(0, register_image_watch(*ictx)); - m_notify_acks = boost::assign::list_of( - std::make_pair(NOTIFY_OP_ACQUIRED_LOCK, bufferlist())); + m_notify_acks = {{NOTIFY_OP_ACQUIRED_LOCK, {}}}; { RWLock::WLocker l(ictx->owner_lock); @@ -474,8 +473,7 @@ ASSERT_EQ(0, open_image(m_image_name, &ictx)); ASSERT_EQ(0, register_image_watch(*ictx)); - m_notify_acks = boost::assign::list_of( - std::make_pair(NOTIFY_OP_ACQUIRED_LOCK, bufferlist())); + m_notify_acks = {{NOTIFY_OP_ACQUIRED_LOCK, {}}}; { RWLock::WLocker l(ictx->owner_lock); @@ -528,8 +526,7 @@ ASSERT_EQ(0, lock_image(*ictx, LOCK_EXCLUSIVE, "auto " + stringify(m_watch_ctx->get_handle()))); - m_notify_acks = boost::assign::list_of( - std::make_pair(NOTIFY_OP_REQUEST_LOCK, create_response_message(0))); + m_notify_acks = {{NOTIFY_OP_REQUEST_LOCK, create_response_message(0)}}; { RWLock::WLocker l(ictx->owner_lock); @@ -549,9 +546,7 @@ ASSERT_EQ(0, unlock_image()); m_notifies.clear(); - m_notify_acks = boost::assign::list_of( - std::make_pair(NOTIFY_OP_RELEASED_LOCK, bufferlist()))( - std::make_pair(NOTIFY_OP_ACQUIRED_LOCK, bufferlist())); + m_notify_acks = {{NOTIFY_OP_RELEASED_LOCK, {}}, {NOTIFY_OP_ACQUIRED_LOCK, {}}}; bufferlist bl; { @@ -578,8 +573,7 @@ ASSERT_EQ(0, lock_image(*ictx, LOCK_EXCLUSIVE, "auto " + stringify(m_watch_ctx->get_handle()))); - m_notify_acks = boost::assign::list_of( - std::make_pair(NOTIFY_OP_REQUEST_LOCK, bufferlist())); + m_notify_acks = {{NOTIFY_OP_REQUEST_LOCK, {}}}; m_expected_aio_restarts = 1; { @@ -606,8 +600,7 @@ ASSERT_EQ(0, lock_image(*ictx, LOCK_EXCLUSIVE, "auto " + stringify(m_watch_ctx->get_handle()))); - m_notify_acks = boost::assign::list_of( - std::make_pair(NOTIFY_OP_REQUEST_LOCK, create_response_message(0))); + m_notify_acks = {{NOTIFY_OP_REQUEST_LOCK, create_response_message(0)}}; int orig_notify_timeout = ictx->cct->_conf->client_notify_timeout; ictx->cct->_conf->set_val("client_notify_timeout", "0"); @@ -645,8 +638,7 @@ ASSERT_EQ(0, lock_image(*ictx, LOCK_EXCLUSIVE, "auto " + stringify(m_watch_ctx->get_handle()))); - m_notify_acks = boost::assign::list_of( - std::make_pair(NOTIFY_OP_REQUEST_LOCK, create_response_message(0))); + m_notify_acks = {{NOTIFY_OP_REQUEST_LOCK, create_response_message(0)}}; m_expected_aio_restarts = 1; { @@ -662,8 +654,7 @@ ASSERT_EQ(expected_notify_ops, m_notifies); m_notifies.clear(); - m_notify_acks = boost::assign::list_of( - std::make_pair(NOTIFY_OP_RELEASED_LOCK, bufferlist())); + m_notify_acks = {{NOTIFY_OP_RELEASED_LOCK, {}}}; bufferlist bl; { @@ -703,8 +694,7 @@ ASSERT_EQ(0, lock_image(*ictx, LOCK_EXCLUSIVE, "auto " + stringify(m_watch_ctx->get_handle()))); - m_notify_acks = boost::assign::list_of( - std::make_pair(NOTIFY_OP_REQUEST_LOCK, create_response_message(0))); + m_notify_acks = {{NOTIFY_OP_REQUEST_LOCK, create_response_message(0)}}; m_expected_aio_restarts = 1; { @@ -723,8 +713,7 @@ ASSERT_EQ(0, lock_image(*ictx, LOCK_SHARED, "manually 1234")); m_notifies.clear(); - m_notify_acks = boost::assign::list_of( - std::make_pair(NOTIFY_OP_RELEASED_LOCK, bufferlist())); + m_notify_acks = {{NOTIFY_OP_RELEASED_LOCK, {}}}; bufferlist bl; { @@ -744,8 +733,7 @@ ASSERT_EQ(0, register_image_watch(*ictx)); - m_notify_acks = boost::assign::list_of( - std::make_pair(NOTIFY_OP_HEADER_UPDATE, bufferlist())); + m_notify_acks = {{NOTIFY_OP_HEADER_UPDATE, {}}}; librbd::ImageWatcher::notify_header_update(m_ioctx, ictx->header_oid); ASSERT_TRUE(wait_for_notifies(*ictx)); @@ -765,8 +753,7 @@ ASSERT_EQ(0, lock_image(*ictx, LOCK_EXCLUSIVE, "auto " + stringify(m_watch_ctx->get_handle()))); - m_notify_acks = boost::assign::list_of( - std::make_pair(NOTIFY_OP_FLATTEN, create_response_message(0))); + m_notify_acks = {{NOTIFY_OP_FLATTEN, create_response_message(0)}}; ProgressContext progress_context; FlattenTask flatten_task(ictx, &progress_context); @@ -800,8 +787,7 @@ ASSERT_EQ(0, lock_image(*ictx, LOCK_EXCLUSIVE, "auto " + stringify(m_watch_ctx->get_handle()))); - m_notify_acks = boost::assign::list_of( - std::make_pair(NOTIFY_OP_RESIZE, create_response_message(0))); + m_notify_acks = {{NOTIFY_OP_RESIZE, create_response_message(0)}}; ProgressContext progress_context; ResizeTask resize_task(ictx, &progress_context); @@ -835,8 +821,7 @@ ASSERT_EQ(0, lock_image(*ictx, LOCK_EXCLUSIVE, "auto " + stringify(m_watch_ctx->get_handle()))); - m_notify_acks = boost::assign::list_of( - std::make_pair(NOTIFY_OP_SNAP_CREATE, create_response_message(0))); + m_notify_acks = {{NOTIFY_OP_SNAP_CREATE, create_response_message(0)}}; RWLock::RLocker l(ictx->owner_lock); ASSERT_EQ(0, ictx->image_watcher->notify_snap_create("snap")); @@ -856,8 +841,7 @@ ASSERT_EQ(0, lock_image(*ictx, LOCK_EXCLUSIVE, "auto " + stringify(m_watch_ctx->get_handle()))); - m_notify_acks = boost::assign::list_of( - std::make_pair(NOTIFY_OP_SNAP_CREATE, create_response_message(-EEXIST))); + m_notify_acks = {{NOTIFY_OP_SNAP_CREATE, create_response_message(-EEXIST)}}; RWLock::RLocker l(ictx->owner_lock); ASSERT_EQ(-EEXIST, ictx->image_watcher->notify_snap_create("snap")); @@ -877,8 +861,7 @@ ASSERT_EQ(0, lock_image(*ictx, LOCK_EXCLUSIVE, "auto " + stringify(m_watch_ctx->get_handle()))); - m_notify_acks = boost::assign::list_of( - std::make_pair(NOTIFY_OP_FLATTEN, bufferlist())); + m_notify_acks = {{NOTIFY_OP_FLATTEN, {}}}; ProgressContext progress_context; FlattenTask flatten_task(ictx, &progress_context); @@ -898,8 +881,7 @@ ASSERT_EQ(0, lock_image(*ictx, LOCK_EXCLUSIVE, "auto " + stringify(m_watch_ctx->get_handle()))); - m_notify_acks = boost::assign::list_of( - std::make_pair(NOTIFY_OP_FLATTEN, create_response_message(-EIO))); + m_notify_acks = {{NOTIFY_OP_FLATTEN, create_response_message(-EIO)}}; ProgressContext progress_context; FlattenTask flatten_task(ictx, &progress_context); @@ -919,8 +901,7 @@ ASSERT_EQ(0, lock_image(*ictx, LOCK_EXCLUSIVE, "auto " + stringify(m_watch_ctx->get_handle()))); - m_notify_acks = boost::assign::list_of( - std::make_pair(NOTIFY_OP_FLATTEN, create_response_message(0))); + m_notify_acks = {{NOTIFY_OP_FLATTEN, create_response_message(0)}}; ProgressContext progress_context; FlattenTask flatten_task(ictx, &progress_context); @@ -960,8 +941,7 @@ ASSERT_EQ(0, lock_image(*ictx, LOCK_EXCLUSIVE, "auto " + stringify(m_watch_ctx->get_handle()))); - m_notify_acks = boost::assign::list_of( - std::make_pair(NOTIFY_OP_FLATTEN, create_response_message(0))); + m_notify_acks = {{NOTIFY_OP_FLATTEN, create_response_message(0)}}; ProgressContext progress_context; FlattenTask flatten_task(ictx, &progress_context);