::encode(mtime, bl);
::encode(attrs, bl);
::encode(data, bl);
- bl.append(omap_data);
+ if (omap_data.length())
+ bl.append(omap_data);
+ else
+ ::encode((__u32)0, bl);
::encode(cursor, bl);
}
map<string,bufferlist> omap;
::decode(omap, bl);
omap_data.clear();
- ::encode(omap, omap_data);
+ if (!omap.empty())
+ ::encode(omap, omap_data);
}
::decode(cursor, bl);
flags = 0;
::encode((__u32)0, bl); // was category; no longer used
::encode(attrs, bl);
::encode(data, bl);
- bl.append(omap_data);
+ if (omap_data.length())
+ bl.append(omap_data);
+ else
+ ::encode((__u32)0, bl);
::encode(cursor, bl);
::encode(omap_header, bl);
::encode(snaps, bl);
map<string,bufferlist> omap;
::decode(omap, bl);
omap_data.clear();
- ::encode(omap, omap_data);
+ if (!omap.empty())
+ ::encode(omap, omap_data);
}
::decode(cursor, bl);
if (struct_v >= 2)