From: Greg Farnum Date: Fri, 18 Jan 2013 21:11:38 +0000 (-0800) Subject: mds: dirfrag_load_vec_t now uses modern encoding X-Git-Tag: v0.58~100^2~6 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=5c812213e6f260a3aa85172039ea96a9072677df;p=ceph.git mds: dirfrag_load_vec_t now uses modern encoding Signed-off-by: Greg Farnum --- diff --git a/src/mds/mdstypes.cc b/src/mds/mdstypes.cc index 82f533b51ff9..8873a03f3c1c 100644 --- a/src/mds/mdstypes.cc +++ b/src/mds/mdstypes.cc @@ -778,3 +778,24 @@ void inode_load_vec_t::generate_test_instances(list& ls) utime_t sample; ls.push_back(new inode_load_vec_t(sample)); } + + +/* + * dirfrag_load_vec_t + */ +void dirfrag_load_vec_t::dump(Formatter *f) const +{ + f->open_array_section("Decay Counters"); + for (vector::const_iterator i = vec.begin(); i != vec.end(); ++i) { + f->open_object_section("Decay Counter"); + i->dump(f); + f->close_section(); + } + f->close_section(); +} + +void dirfrag_load_vec_t::generate_test_instances(list& ls) +{ + utime_t sample; + ls.push_back(new dirfrag_load_vec_t(sample)); +} diff --git a/src/mds/mdstypes.h b/src/mds/mdstypes.h index 6b50d554058d..a2417c65fb3e 100644 --- a/src/mds/mdstypes.h +++ b/src/mds/mdstypes.h @@ -850,20 +850,30 @@ public: std::vector < DecayCounter > vec; dirfrag_load_vec_t(const utime_t &now) : vec(NUM, DecayCounter(now)) - { - } + { } + // for dencoder infrastructure + dirfrag_load_vec_t() + : vec(NUM, DecayCounter()) + {} void encode(bufferlist &bl) const { - __u8 struct_v = 1; - ::encode(struct_v, bl); + ENCODE_START(2, 2, bl); for (int i=0; i& ls); DecayCounter &get(int t) { assert(t < NUM); diff --git a/src/test/encoding/types.h b/src/test/encoding/types.h index 272df0aabbf3..2c706a98e77b 100644 --- a/src/test/encoding/types.h +++ b/src/test/encoding/types.h @@ -113,6 +113,7 @@ TYPE(string_snap_t) TYPE(MDSCacheObjectInfo) TYPE(mds_table_pending_t) TYPE(inode_load_vec_t) +TYPE(dirfrag_load_vec_t) #include "mds/MDSMap.h" TYPE_FEATUREFUL(MDSMap)