]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: string_snap_t now uses modern encoding
authorGreg Farnum <greg@inktank.com>
Thu, 17 Jan 2013 18:31:48 +0000 (10:31 -0800)
committerGreg Farnum <greg@inktank.com>
Tue, 5 Feb 2013 21:29:05 +0000 (13:29 -0800)
Signed-off-by: Sage Weil <sage@inktank.com>
Signed-off-by: Greg Farnum <greg@inktank.com>
src/mds/mdstypes.cc
src/mds/mdstypes.h
src/test/encoding/types.h

index 33a16b6afb451112849ac4a0c59b179f2a0897dd..02d7946db7210806dbb39a8f22748b0aed686ece 100644 (file)
@@ -576,3 +576,40 @@ void session_info_t::generate_test_instances(list<session_info_t*>& ls)
   ls.back()->prealloc_inos.insert(377, 112);
   // we can't add used inos; they're cleared on decode
 }
+
+
+/*
+ * string_snap_t
+ */
+void string_snap_t::encode(bufferlist& bl) const
+{
+  ENCODE_START(2, 2, bl);
+  ::encode(name, bl);
+  ::encode(snapid, bl);
+  ENCODE_FINISH(bl);
+}
+
+void string_snap_t::decode(bufferlist::iterator& bl)
+{
+  DECODE_START_LEGACY_COMPAT_LEN(2, 2, 2, bl);
+  ::decode(name, bl);
+  ::decode(snapid, bl);
+  DECODE_FINISH(bl);
+}
+
+void string_snap_t::dump(Formatter *f) const
+{
+  f->dump_string("name", name);
+  f->dump_unsigned("snapid", snapid);
+}
+
+void string_snap_t::generate_test_instances(list<string_snap_t*>& ls)
+{
+  ls.push_back(new string_snap_t);
+  ls.push_back(new string_snap_t);
+  ls.back()->name = "foo";
+  ls.back()->snapid = 123;
+  ls.push_back(new string_snap_t);
+  ls.back()->name = "bar";
+  ls.back()->snapid = 456;
+}
index f262737ebec1a67f05fa14379c6735ac6c7a6c70..6c69b70c8a45fc20faea727c3153ad122a57bd9d 100644 (file)
@@ -597,18 +597,11 @@ struct string_snap_t {
   string_snap_t() {}
   string_snap_t(const string& n, snapid_t s) : name(n), snapid(s) {}
   string_snap_t(const char *n, snapid_t s) : name(n), snapid(s) {}
-  void encode(bufferlist& bl) const {
-    __u8 struct_v = 1;
-    ::encode(struct_v, bl);
-    ::encode(name, bl);
-    ::encode(snapid, bl);
-  }
-  void decode(bufferlist::iterator& bl) {
-    __u8 struct_v = 1;
-    ::decode(struct_v, bl);
-    ::decode(name, bl);
-    ::decode(snapid, bl);
-  }
+
+  void encode(bufferlist& bl) const;
+  void decode(bufferlist::iterator& p);
+  void dump(Formatter *f) const;
+  static void generate_test_instances(list<string_snap_t*>& ls);
 };
 WRITE_CLASS_ENCODER(string_snap_t)
 
index 2aa52001239bd21667db27840cf5a94007a3a300..90672a1aa75afcbb336a8c2b1561d9e10ad4b6b3 100644 (file)
@@ -105,6 +105,7 @@ TYPE(inode_t)
 TYPE(old_inode_t)
 TYPE(fnode_t)
 TYPE(session_info_t)
+TYPE(string_snap_t)
 
 #ifdef WITH_RADOSGW