]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
kv/MemDB: fix load/save process of kv pairs
authorxie xingguo <xie.xingguo@zte.com.cn>
Thu, 28 Jul 2016 06:29:10 +0000 (14:29 +0800)
committerxie xingguo <xie.xingguo@zte.com.cn>
Thu, 28 Jul 2016 06:29:56 +0000 (14:29 +0800)
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
src/kv/MemDB.cc

index 7b0d5cbac2866e963c5a19cb1232b0de3cd512df..5831e03cc315a1a0b2d463fb79d4f9d418bc074f 100644 (file)
@@ -75,14 +75,14 @@ void MemDB::_save()
          << cpp_strerror(err) << std::endl;
     return;
   }
+  bufferlist bl;
   btree::btree_map<string, bufferptr>::iterator iter = m_btree.begin();
   while (iter != m_btree.end()) {
-    bufferlist bl;
     dout(10) << __func__ << " Key:"<< iter->first << dendl;
     _encode(iter, bl);
-    bl.write_fd(fd);
     iter++;
   }
+  bl.write_fd(fd);
 
   VOID_TEMP_FAILURE_RETRY(::close(fd));
 }
@@ -123,6 +123,7 @@ void MemDB::_load()
 
     dout(10) << __func__ << " Key:"<< key << dendl;
     m_btree[key] = datap;
+    m_total_bytes += datap.length();
   }
   VOID_TEMP_FAILURE_RETRY(::close(fd));
 }