From: xie xingguo Date: Fri, 9 Sep 2016 10:58:25 +0000 (+0800) Subject: os/bluestore: return onode_key to caller X-Git-Tag: v11.0.1~261^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=ba69a2ce90321fd9bde91436c31b79d5b77af904;p=ceph.git os/bluestore: return onode_key to caller The get_key_extent_shard() method shall decompose extent_shard_key into onode_key and offset, but currently we don't fill onode_key and return it to caller. Signed-off-by: xie xingguo --- diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index cf72e76dd5fe..d868af96c38d 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -393,7 +393,9 @@ int get_key_extent_shard(const string& key, string *onode_key, uint32_t *offset) { assert(key.size() > sizeof(uint32_t) + 1); assert(key[key.size() - 1] == EXTENT_SHARD_KEY_SUFFIX); - const char *p = key.data() + key.size() - sizeof(uint32_t) - 1; + int okey_len = key.size() - sizeof(uint32_t) - 1; + *onode_key = key.substr(0, okey_len); + const char *p = key.data() + okey_len; p = _key_decode_u32(p, offset); return 0; }