]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: get rid of the "if" check which is unnecessary inside a loop 18904/head
authorroot <tdd108128@163.com>
Mon, 13 Nov 2017 13:51:44 +0000 (21:51 +0800)
committerroot <tdd108128@163.com>
Mon, 13 Nov 2017 13:58:53 +0000 (21:58 +0800)
Fix: last "if" is already a perfect place to identify a new transaction

Signed-off-by: dongdong tao <tdd21151186@gmail.com>
src/mds/SessionMap.cc

index 9d0bd4c87b66849adc640cd9872f2912ac0cbc77..75577e8bc1ba8903d2e6a3a5ea9ae71bba5e96ac 100644 (file)
@@ -739,11 +739,6 @@ void SessionMap::save_if_dirty(const std::set<entity_name_t> &tgt_sessions,
   const uint32_t kpo = g_conf->mds_sessionmap_keys_per_op;
   map<string, bufferlist> to_set;
   for (uint32_t i = 0; i < write_sessions.size(); ++i) {
-    // Start a new write transaction?
-    if (i % g_conf->mds_sessionmap_keys_per_op == 0) {
-      to_set.clear();
-    }
-
     const entity_name_t &session_id = write_sessions[i];
     Session *session = session_map[session_id];
     session->clear_dirty_completed_requests();
@@ -764,6 +759,7 @@ void SessionMap::save_if_dirty(const std::set<entity_name_t> &tgt_sessions,
         || i % kpo == kpo - 1) {
       ObjectOperation op;
       op.omap_set(to_set);
+      to_set.clear(); // clear to start a new transaction      
 
       SnapContext snapc;
       object_t oid = get_object_name();