return out;
}
-// bluestore_overlay_t
-
-void bluestore_overlay_t::encode(bufferlist& bl) const
-{
- ENCODE_START(1, 1, bl);
- ::encode(key, bl);
- ::encode(value_offset, bl);
- ::encode(length, bl);
- ENCODE_FINISH(bl);
-}
-
-void bluestore_overlay_t::decode(bufferlist::iterator& p)
-{
- DECODE_START(1, p);
- ::decode(key, p);
- ::decode(value_offset, p);
- ::decode(length, p);
- DECODE_FINISH(p);
-}
-
-void bluestore_overlay_t::dump(Formatter *f) const
-{
- f->dump_unsigned("key", key);
- f->dump_unsigned("value_offset", value_offset);
- f->dump_unsigned("length", length);
-}
-
-void bluestore_overlay_t::generate_test_instances(list<bluestore_overlay_t*>& o)
-{
- o.push_back(new bluestore_overlay_t());
- o.push_back(new bluestore_overlay_t(789, 1024, 1232232));
-}
-
-ostream& operator<<(ostream& out, const bluestore_overlay_t& o)
-{
- out << "overlay(0x" << std::hex << o.value_offset << "~" << o.length
- << std::dec << " key " << o.key << ")";
- return out;
-}
-
-
// bluestore_pextent_t
void bluestore_pextent_t::dump(Formatter *f) const
return !(l == r);
}
-/// overlay: a byte extent backed by kv pair, logically overlaying other content
-struct bluestore_overlay_t {
- uint64_t key; ///< key (nid+key identify the kv pair in the kvdb)
- uint32_t value_offset; ///< offset in associated value for this extent
- uint32_t length;
-
- bluestore_overlay_t() : key(0), value_offset(0), length(0) {}
- bluestore_overlay_t(uint64_t k, uint32_t vo, uint32_t l)
- : key(k), value_offset(vo), length(l) {}
-
- void encode(bufferlist& bl) const;
- void decode(bufferlist::iterator& p);
- void dump(Formatter *f) const;
- static void generate_test_instances(list<bluestore_overlay_t*>& o);
-
-};
-WRITE_CLASS_ENCODER(bluestore_overlay_t)
-
-ostream& operator<<(ostream& out, const bluestore_overlay_t& o);
-
-
/// blob: a piece of data on disk
struct bluestore_blob_t {
enum {
TYPE(bluestore_cnode_t)
TYPE(bluestore_compression_header_t)
TYPE(bluestore_extent_ref_map_t)
-TYPE(bluestore_overlay_t)
TYPE(bluestore_pextent_t)
TYPE(bluestore_blob_t)
TYPE(bluestore_lextent_t)