]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
os/bluestore: do deep encode of onode
authorSage Weil <sage@redhat.com>
Thu, 22 Sep 2016 19:52:19 +0000 (15:52 -0400)
committerSage Weil <sage@redhat.com>
Sun, 16 Oct 2016 14:32:51 +0000 (10:32 -0400)
Avoid an inevitable rebuild() since we have to pass this to rocksdb as a
single memory buffer anyway.

Signed-off-by: Sage Weil <sage@redhat.com>
src/os/bluestore/BlueStore.cc

index ccad872ba9f49038d78663be8c5dc27ed54e582a..361070a8b2ca90d4b31e58838395ab86e5ca3eef 100644 (file)
@@ -6307,7 +6307,7 @@ void BlueStore::_txc_write_nodes(TransContext *txc, KeyValueDB::Transaction t)
     bufferlist bl;
     unsigned onode_part, blob_part, extent_part;
     {
-      auto p = bl.get_contiguous_appender(bound);
+      auto p = bl.get_contiguous_appender(bound, true);
       denc(o->onode, p);
       onode_part = p.get_logical_offset();
       o->extent_map.encode_spanning_blobs(p);