]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: MDSCacheObjectInfo now uses modern encoding
authorSage Weil <sage@inktank.com>
Tue, 25 Sep 2012 17:51:04 +0000 (10:51 -0700)
committerGreg Farnum <greg@inktank.com>
Tue, 5 Feb 2013 21:29:06 +0000 (13:29 -0800)
Signed-off-by: Sage Weil <sage@inktank.com>
src/mds/mdstypes.cc
src/mds/mdstypes.h
src/test/encoding/types.h

index 02d7946db7210806dbb39a8f22748b0aed686ece..6f6f9aa19c43cfeb9683c0d6c52b081f2f719e46 100644 (file)
@@ -613,3 +613,50 @@ void string_snap_t::generate_test_instances(list<string_snap_t*>& 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<MDSCacheObjectInfo*>& 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;
+}
index 6c69b70c8a45fc20faea727c3153ad122a57bd9d..c9c30e3488ed2e36790f5eb299fa99e3b6ce64a5 100644 (file)
@@ -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<MDSCacheObjectInfo*>& ls);
 };
 
 inline bool operator==(const MDSCacheObjectInfo& l, const MDSCacheObjectInfo& r) {
index 90672a1aa75afcbb336a8c2b1561d9e10ad4b6b3..b7e798aef34ea348e5544f49db9e7a6e01f84945 100644 (file)
@@ -106,6 +106,7 @@ TYPE(old_inode_t)
 TYPE(fnode_t)
 TYPE(session_info_t)
 TYPE(string_snap_t)
+TYPE(MDSCacheObjectInfo)
 
 #ifdef WITH_RADOSGW