From d10c37adf925d8b34daa81b419463ea376ec27aa Mon Sep 17 00:00:00 2001 From: Matt Benjamin Date: Fri, 6 Jan 2017 12:30:42 -0500 Subject: [PATCH] rgw_rados: add guard assert in add_io() Use the iterator-returning insert operation in std::map, check assert the insert case. As a side effect, this makes use of the inserted object record more clear. Signed-off-by: Matt Benjamin --- src/rgw/rgw_rados.cc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/rgw/rgw_rados.cc b/src/rgw/rgw_rados.cc index 5ab827d737831..13afc5bc4454c 100644 --- a/src/rgw/rgw_rados.cc +++ b/src/rgw/rgw_rados.cc @@ -9656,7 +9656,12 @@ struct get_obj_data : public RefCountedObject { void add_io(off_t ofs, off_t len, bufferlist **pbl, AioCompletion **pc) { Mutex::Locker l(lock); - get_obj_io& io = io_map[ofs]; + const auto& io_iter = io_map.insert( + map::value_type(ofs, get_obj_io())); + + assert(io_iter.second); // assert new insertion + + get_obj_io& io = (io_iter.first)->second; *pbl = &io.bl; struct get_obj_aio_data aio; -- 2.39.5