From: Igor Fedotov Date: Sun, 20 Sep 2020 10:45:28 +0000 (+0300) Subject: os/bluestore: bind attrs to bluestore_cache_meta mempool. X-Git-Tag: v14.2.17~114^2^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F38310%2Fhead;p=ceph.git os/bluestore: bind attrs to bluestore_cache_meta mempool. This seems to be a better choice over bluestore_cache_data Signed-off-by: Igor Fedotov (cherry picked from commit f4e09fc103454fa8a41b5ffb822639368a89522d) --- diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index 9a6e46db9da5..381203cdf8ed 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -3432,7 +3432,7 @@ BlueStore::Onode* BlueStore::Onode::decode( auto p = v.front().begin_deep(); on->onode.decode(p); for (auto& i : on->onode.attrs) { - i.second.reassign_to_mempool(mempool::mempool_bluestore_cache_data); + i.second.reassign_to_mempool(mempool::mempool_bluestore_cache_meta); } // initialize extent_map @@ -13743,10 +13743,10 @@ int BlueStore::_setattr(TransContext *txc, if (val.is_partial()) { auto& b = o->onode.attrs[name.c_str()] = bufferptr(val.c_str(), val.length()); - b.reassign_to_mempool(mempool::mempool_bluestore_cache_data); + b.reassign_to_mempool(mempool::mempool_bluestore_cache_meta); } else { auto& b = o->onode.attrs[name.c_str()] = val; - b.reassign_to_mempool(mempool::mempool_bluestore_cache_data); + b.reassign_to_mempool(mempool::mempool_bluestore_cache_meta); } txc->write_onode(o); dout(10) << __func__ << " " << c->cid << " " << o->oid @@ -13769,10 +13769,10 @@ int BlueStore::_setattrs(TransContext *txc, if (p->second.is_partial()) { auto& b = o->onode.attrs[p->first.c_str()] = bufferptr(p->second.c_str(), p->second.length()); - b.reassign_to_mempool(mempool::mempool_bluestore_cache_data); + b.reassign_to_mempool(mempool::mempool_bluestore_cache_meta); } else { auto& b = o->onode.attrs[p->first.c_str()] = p->second; - b.reassign_to_mempool(mempool::mempool_bluestore_cache_data); + b.reassign_to_mempool(mempool::mempool_bluestore_cache_meta); } } txc->write_onode(o); diff --git a/src/os/bluestore/bluestore_types.h b/src/os/bluestore/bluestore_types.h index d7c437b816a6..8232801c2ea0 100644 --- a/src/os/bluestore/bluestore_types.h +++ b/src/os/bluestore/bluestore_types.h @@ -898,7 +898,7 @@ ostream& operator<<(ostream& out, const bluestore_shared_blob_t& o); struct bluestore_onode_t { uint64_t nid = 0; ///< numeric id (locally unique) uint64_t size = 0; ///< object size - // FIXME: bufferptr does not have a mempool + // mempool to be assigned to buffer::ptr manually std::map attrs; struct shard_info {