From: Sage Weil Date: Mon, 5 Aug 2019 17:53:29 +0000 (-0500) Subject: os/bluestore: behave if we *do* set PGMETA and PERPOOL flags X-Git-Tag: v15.1.0~1915^2~4 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=52a2d4b24da0c7ba58fa801863e06db83fcfe2bd;p=ceph.git os/bluestore: behave if we *do* set PGMETA and PERPOOL flags pgmeta trumps perpool. Signed-off-by: Sage Weil --- diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index 97fed8c7f908..5c9797c7ecd0 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -3287,7 +3287,7 @@ const string& BlueStore::Onode::get_omap_prefix() void BlueStore::Onode::get_omap_header(string *out) { - if (onode.is_perpool_omap()) { + if (onode.is_perpool_omap() && !onode.is_pgmeta_omap()) { _key_encode_u64(oid.hobj.pool, out); } _key_encode_u64(onode.nid, out); @@ -3296,7 +3296,7 @@ void BlueStore::Onode::get_omap_header(string *out) void BlueStore::Onode::get_omap_key(const string& key, string *out) { - if (onode.is_perpool_omap()) { + if (onode.is_perpool_omap() && !onode.is_pgmeta_omap()) { _key_encode_u64(oid.hobj.pool, out); } _key_encode_u64(onode.nid, out); @@ -3306,7 +3306,7 @@ void BlueStore::Onode::get_omap_key(const string& key, string *out) void BlueStore::Onode::rewrite_omap_key(const string& old, string *out) { - if (onode.is_perpool_omap()) { + if (onode.is_perpool_omap() && !onode.is_pgmeta_omap()) { _key_encode_u64(oid.hobj.pool, out); } _key_encode_u64(onode.nid, out); @@ -3315,7 +3315,7 @@ void BlueStore::Onode::rewrite_omap_key(const string& old, string *out) void BlueStore::Onode::get_omap_tail(string *out) { - if (onode.is_perpool_omap()) { + if (onode.is_perpool_omap() && !onode.is_pgmeta_omap()) { _key_encode_u64(oid.hobj.pool, out); } _key_encode_u64(onode.nid, out); @@ -3324,7 +3324,7 @@ void BlueStore::Onode::get_omap_tail(string *out) void BlueStore::Onode::decode_omap_key(const string& key, string *user_key) { - if (onode.is_perpool_omap()) { + if (onode.is_perpool_omap() && !onode.is_pgmeta_omap()) { *user_key = key.substr(sizeof(uint64_t)*2 + 1); } else { *user_key = key.substr(sizeof(uint64_t) + 1);