From: Sage Weil Date: Tue, 25 Sep 2012 17:51:04 +0000 (-0700) Subject: mds: MDSCacheObjectInfo now uses modern encoding X-Git-Tag: v0.58~100^2~58 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=72c7bcd524b96737548995e4142e183d195e1af8;p=ceph.git mds: MDSCacheObjectInfo now uses modern encoding Signed-off-by: Sage Weil --- diff --git a/src/mds/mdstypes.cc b/src/mds/mdstypes.cc index 02d7946db721..6f6f9aa19c43 100644 --- a/src/mds/mdstypes.cc +++ b/src/mds/mdstypes.cc @@ -613,3 +613,50 @@ void string_snap_t::generate_test_instances(list& ls) ls.back()->name = "bar"; ls.back()->snapid = 456; } + + +/* + * MDSCacheObjectInfo + */ +void MDSCacheObjectInfo::encode(bufferlist& bl) const +{ + ENCODE_START(2, 2, bl); + ::encode(ino, bl); + ::encode(dirfrag, bl); + ::encode(dname, bl); + ::encode(snapid, bl); + ENCODE_FINISH(bl); +} + +void MDSCacheObjectInfo::decode(bufferlist::iterator& p) +{ + DECODE_START_LEGACY_COMPAT_LEN(2, 2, 2, p); + ::decode(ino, p); + ::decode(dirfrag, p); + ::decode(dname, p); + ::decode(snapid, p); + DECODE_FINISH(p); +} + +void MDSCacheObjectInfo::dump(Formatter *f) const +{ + f->dump_unsigned("ino", ino); + f->dump_stream("dirfrag") << dirfrag; + f->dump_string("name", dname); + f->dump_unsigned("snapid", snapid); +} + +void MDSCacheObjectInfo::generate_test_instances(list& ls) +{ + ls.push_back(new MDSCacheObjectInfo); + ls.push_back(new MDSCacheObjectInfo); + ls.back()->ino = 1; + ls.back()->dirfrag = dirfrag_t(2, 3); + ls.back()->dname = "fooname"; + ls.back()->snapid = CEPH_NOSNAP; + ls.push_back(new MDSCacheObjectInfo); + ls.back()->ino = 121; + ls.back()->dirfrag = dirfrag_t(222, 0); + ls.back()->dname = "bar foo"; + ls.back()->snapid = 21322; +} diff --git a/src/mds/mdstypes.h b/src/mds/mdstypes.h index 6c69b70c8a45..c9c30e3488ed 100644 --- a/src/mds/mdstypes.h +++ b/src/mds/mdstypes.h @@ -1095,22 +1095,10 @@ public: MDSCacheObjectInfo() : ino(0) {} - void encode(bufferlist& bl) const { - __u8 struct_v = 1; - ::encode(struct_v, bl); - ::encode(ino, bl); - ::encode(dirfrag, bl); - ::encode(dname, bl); - ::encode(snapid, bl); - } - void decode(bufferlist::iterator& p) { - __u8 struct_v; - ::decode(struct_v, p); - ::decode(ino, p); - ::decode(dirfrag, p); - ::decode(dname, p); - ::decode(snapid, p); - } + void encode(bufferlist& bl) const; + void decode(bufferlist::iterator& bl); + void dump(Formatter *f) const; + static void generate_test_instances(list& ls); }; inline bool operator==(const MDSCacheObjectInfo& l, const MDSCacheObjectInfo& r) { diff --git a/src/test/encoding/types.h b/src/test/encoding/types.h index 90672a1aa75a..b7e798aef34e 100644 --- a/src/test/encoding/types.h +++ b/src/test/encoding/types.h @@ -106,6 +106,7 @@ TYPE(old_inode_t) TYPE(fnode_t) TYPE(session_info_t) TYPE(string_snap_t) +TYPE(MDSCacheObjectInfo) #ifdef WITH_RADOSGW