From: Sage Weil Date: Sat, 24 Dec 2016 04:53:08 +0000 (-0600) Subject: Merge pull request #12634 from liewegas/wip-bluestore-shard-keys X-Git-Tag: v12.0.0~381 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=cf8161f78c5af758be663fb802bdb09ddbd92a8a;p=ceph.git Merge pull request #12634 from liewegas/wip-bluestore-shard-keys os/bluestore: do not cache shard keys Reviewed-by: Igor Fedotov Reviewed-by: Allen Samuels --- cf8161f78c5af758be663fb802bdb09ddbd92a8a diff --cc src/os/bluestore/BlueStore.cc index 46bca98e6955,c27734c77dbc..e8ff586e6c53 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@@ -1698,8 -1681,9 +1698,8 @@@ bool BlueStore::ExtentMap::update(KeyVa } assert(p->shard_info->offset == p->offset); p->shard_info->bytes = len; - p->shard_info->extents = nn; - encoded_shards[pos].key = &p->key; + encoded_shards[pos].offset = p->offset; dirty_shards.push_back(encoded_shards[pos]); p->dirty = false; } @@@ -8954,10 -8939,11 +8960,11 @@@ int BlueStore::_rename(TransContext *tx // rewrite shards oldo->extent_map.fault_range(db, 0, oldo->onode.size); - get_object_key(new_oid, &new_okey); + get_object_key(cct, new_oid, &new_okey); for (auto &s : oldo->extent_map.shards) { - txc->t->rmkey(PREFIX_OBJ, s.key); - get_extent_shard_key(new_okey, s.offset, &s.key); + string key; + get_extent_shard_key(oldo->key, s.offset, &key); + txc->t->rmkey(PREFIX_OBJ, key); s.dirty = true; }