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);
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);
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);
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);
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);