dout(15) << "dump " << it->second << dendl;
}
+void AnchorServer::dump(Formatter *f) const
+{
+ f->open_array_section("anchor map");
+ for (map<inodeno_t, Anchor>::const_iterator i = anchor_map.begin();
+ i != anchor_map.end(); ++i) {
+ f->open_object_section("entry");
+ f->dump_int("ino", i->first);
+ f->open_object_section("Anchor");
+ i->second.dump(f);
+ f->close_section(); // Anchor
+ f->close_section(); // entry
+ }
+ f->close_section(); // anchor map
+}
+
+void AnchorServer::generate_test_instances(list<AnchorServer*>& ls)
+{
+ AnchorServer *sample = new AnchorServer();
+ sample->pending_create[0] = 0;
+ sample->pending_destroy[0] = 1;
+ sample->anchor_map[0] = Anchor();
+ ls.push_back(sample);
+}
+
/*
void reset_state();
void encode_server_state(bufferlist& bl) {
- __u8 v = 1;
- ::encode(v, bl);
+ ENCODE_START(2, 2, bl);
::encode(anchor_map, bl);
::encode(pending_create, bl);
::encode(pending_destroy, bl);
::encode(pending_update, bl);
+ ENCODE_FINISH(bl);
}
void decode_server_state(bufferlist::iterator& p) {
- __u8 v;
- ::decode(v, p);
+ DECODE_START_LEGACY_COMPAT_LEN(2, 2, 2, p);
::decode(anchor_map, p);
::decode(pending_create, p);
::decode(pending_destroy, p);
::decode(pending_update, p);
+ DECODE_FINISH(p);
map<version_t, inodeno_t> sort;
sort.insert(pending_create.begin(), pending_create.end());
bool check_pending(version_t tid, MMDSTableRequest *req, list<Context *>& finished);
void dump();
+ void dump(Formatter *f) const;
+ static void generate_test_instances(list<AnchorServer*>& ls);
+ // for the dencoder
+ AnchorServer() : MDSTableServer(NULL, TABLE_ANCHOR) {}
+ void encode(bufferlist& bl) const {
+ AnchorServer *me = const_cast<AnchorServer*>(this);
+ me->encode_server_state(bl);
+ }
+ void decode(bufferlist::iterator& bl) { decode_server_state(bl); }
// server bits
void _prepare(bufferlist &bl, uint64_t reqid, int bymds);