]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd,mds: use map::merge() whenever appropriate 21310/head
authorKefu Chai <kchai@redhat.com>
Tue, 10 Apr 2018 06:07:17 +0000 (14:07 +0800)
committerKefu Chai <kchai@redhat.com>
Tue, 10 Apr 2018 12:27:40 +0000 (20:27 +0800)
and use explicit std::move() when map::merge() is not available.

Signed-off-by: Kefu Chai <kchai@redhat.com>
src/mds/OpenFileTable.cc
src/osd/OSD.cc

index cc64d42c523fba88090ed6d7a2df5e0cc0566206..0e30e975cf5e04d8f9ba5ba21048e54febd0cc9d 100644 (file)
@@ -347,8 +347,10 @@ void OpenFileTable::commit(MDSInternalContextBase *c, uint64_t log_seq, int op_p
     ctl.journaled_update.merge(ctl.to_update);
     ctl.journaled_remove.merge(ctl.to_remove);
 #else
-    ctl.journaled_update.insert(ctl.to_update.begin(), ctl.to_update.end());
-    ctl.journaled_remove.insert(ctl.to_remove.begin(), ctl.to_remove.end());
+    ctl.journaled_update.insert(make_move_iterator(begin(ctl.to_update)),
+                               make_move_iterator(end(ctl.to_update)));
+    ctl.journaled_remove.insert(make_move_iterator(begin(ctl.to_remove)),
+                               make_move_iterator(end(ctl.to_remove)));
 #endif
     ctl.to_update.clear();
     ctl.to_remove.clear();
index 546ad2d95473df6295f257dfe52468ae15feb1d6..e3b79082133c69e1da57f55e9f88138b80da46ae 100644 (file)
@@ -940,8 +940,12 @@ void OSDService::remove_want_pg_temp(pg_t pgid)
 
 void OSDService::_sent_pg_temp()
 {
+#ifdef HAVE_STDLIB_MAP_SPLICING
+  pg_temp_pending.merge(pg_temp_wanted);
+#else
   pg_temp_pending.insert(make_move_iterator(begin(pg_temp_wanted)),
                         make_move_iterator(end(pg_temp_wanted)));
+#endif
   pg_temp_wanted.clear();
 }