]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: link_rollback more modernization for dencoder
authorGreg Farnum <greg@inktank.com>
Mon, 4 Feb 2013 02:03:32 +0000 (18:03 -0800)
committerGreg Farnum <greg@inktank.com>
Fri, 8 Feb 2013 21:17:53 +0000 (13:17 -0800)
Signed-off-by: Greg Farnum <greg@inktank.com>
src/mds/events/ESlaveUpdate.h
src/mds/journal.cc
src/test/encoding/types.h

index 8ad1a6023c601567a9b13a9d83a53e1b2b038f22..f05872535d1dc7b4a04e5268073bfd8f3b9968ce 100644 (file)
@@ -31,26 +31,12 @@ struct link_rollback {
   utime_t old_dir_mtime;
   utime_t old_dir_rctime;
 
-  void encode(bufferlist &bl) const {
-    ENCODE_START(2, 2, bl);
-    ::encode(reqid, bl);
-    ::encode(ino, bl);
-    ::encode(was_inc, bl);
-    ::encode(old_ctime, bl);
-    ::encode(old_dir_mtime, bl);
-    ::encode(old_dir_rctime, bl);
-    ENCODE_FINISH(bl);
-  }
-  void decode(bufferlist::iterator &bl) {
-    DECODE_START_LEGACY_COMPAT_LEN(2, 2, 2, bl);
-    ::decode(reqid, bl);
-    ::decode(ino, bl);
-    ::decode(was_inc, bl);
-    ::decode(old_ctime, bl);
-    ::decode(old_dir_mtime, bl);
-    ::decode(old_dir_rctime, bl);
-    DECODE_FINISH(bl);
-  }
+  link_rollback() : ino(0), was_inc(false) {}
+
+  void encode(bufferlist& bl) const;
+  void decode(bufferlist::iterator& bl);
+  void dump(Formatter *f) const;
+  static void generate_test_instances(list<link_rollback*>& ls);
 };
 WRITE_CLASS_ENCODER(link_rollback)
 
index 1e1280585aef67bb667d01024cd96e39b39dd7ff..f15d5c857ec3dbbdb3345e3ebeeba44a114663fe 100644 (file)
@@ -1733,6 +1733,46 @@ void ECommitted::generate_test_instances(list<ECommitted*>& ls)
 // -----------------------
 // ESlaveUpdate
 
+void link_rollback::encode(bufferlist &bl) const
+{
+  ENCODE_START(2, 2, bl);
+  ::encode(reqid, bl);
+  ::encode(ino, bl);
+  ::encode(was_inc, bl);
+  ::encode(old_ctime, bl);
+  ::encode(old_dir_mtime, bl);
+  ::encode(old_dir_rctime, bl);
+  ENCODE_FINISH(bl);
+}
+
+void link_rollback::decode(bufferlist::iterator &bl)
+{
+  DECODE_START_LEGACY_COMPAT_LEN(2, 2, 2, bl);
+  ::decode(reqid, bl);
+  ::decode(ino, bl);
+  ::decode(was_inc, bl);
+  ::decode(old_ctime, bl);
+  ::decode(old_dir_mtime, bl);
+  ::decode(old_dir_rctime, bl);
+  DECODE_FINISH(bl);
+}
+
+void link_rollback::dump(Formatter *f) const
+{
+  f->dump_stream("metareqid") << reqid;
+  f->dump_int("ino", ino);
+  f->dump_string("was incremented", was_inc ? "true" : "false");
+  f->dump_stream("old_ctime") << old_ctime;
+  f->dump_stream("old_dir_mtime") << old_dir_mtime;
+  f->dump_stream("old_dir_rctime") << old_dir_rctime;
+}
+
+void link_rollback::generate_test_instances(list<link_rollback*>& ls)
+{
+  ls.push_back(new link_rollback());
+}
+
+
 void ESlaveUpdate::replay(MDS *mds)
 {
   MDSlaveUpdate *su;
index 2e4cd8210dbc4674ac17356e11bc961f91b3e81d..cb584f162c70d0bbfc581c25435b0ceeabdd152e 100644 (file)
@@ -147,6 +147,9 @@ TYPE(EResetJournal)
 TYPE(ESession)
 #include "mds/events/ESessions.h"
 TYPE(ESessions)
+#include "mds/events/ESlaveUpdate.h"
+TYPE(link_rollback)
+
 
 #ifdef WITH_RADOSGW