diff options
author | Sage Weil <sage@redhat.com> | 2017-05-30 03:55:33 +0200 |
---|---|---|
committer | Sage Weil <sage@redhat.com> | 2017-05-30 03:56:19 +0200 |
commit | f53f56350b893bfdd47fe730a4339ca5793791a0 (patch) | |
tree | 2b6e101bacd98e93d943764a956e612e4ba11154 /src/os/bluestore/BlueStore.cc | |
parent | os/bluestore: fsck: use btree_set to replace set<uint64_t> (diff) | |
download | ceph-f53f56350b893bfdd47fe730a4339ca5793791a0.tar.xz ceph-f53f56350b893bfdd47fe730a4339ca5793791a0.zip |
os/bluestore: deep decode onode value
In particular, we want the attrs (map<string,bufferptr>) to be a deep
decode so that we do not pin this buffer, and so that any changed attr
will free the previous memory.
Signed-off-by: Sage Weil <sage@redhat.com>
Diffstat (limited to '')
-rw-r--r-- | src/os/bluestore/BlueStore.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index 85e8c3e6b71..7eef3c77193 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -3131,7 +3131,7 @@ BlueStore::OnodeRef BlueStore::Collection::get_onode( assert(r >= 0); on = new Onode(this, oid, key); on->exists = true; - bufferptr::iterator p = v.front().begin(); + bufferptr::iterator p = v.front().begin_deep(); on->onode.decode(p); // initialize extent_map |