]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
common: make utime_t dencoder-compatible
authorGreg Farnum <gfarnum@redhat.com>
Fri, 26 Apr 2019 05:57:38 +0000 (22:57 -0700)
committerGreg Farnum <gfarnum@redhat.com>
Fri, 26 Apr 2019 08:34:36 +0000 (01:34 -0700)
Signed-off-by: Greg Farnum <gfarnum@redhat.com>
src/include/utime.cc [new file with mode: 0644]
src/include/utime.h
src/tools/ceph-dencoder/CMakeLists.txt

diff --git a/src/include/utime.cc b/src/include/utime.cc
new file mode 100644 (file)
index 0000000..0afc1d5
--- /dev/null
@@ -0,0 +1,33 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
+// vim: ts=8 sw=2 smarttab
+/*
+ * Ceph - scalable distributed file system
+ *
+ * Copyright (C) 2019 Red Hat
+ *
+ * This is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software
+ * Foundation.  See file COPYING.
+ *
+ */
+
+#include "utime.h"
+#include "common/Formatter.h"
+
+void utime_t::dump(ceph::Formatter *f) const
+{
+  f->open_object_section("utime");
+  f->dump_int("seconds", tv.tv_sec);
+  f->dump_int("nanoseconds", tv.tv_nsec);
+  f->close_section();
+}
+
+void utime_t::generate_test_instances(std::list<utime_t*>& o)
+{
+  o.push_back(new utime_t());
+  o.push_back(new utime_t());
+  o.back()->tv.tv_sec = static_cast<__u32>((1L << 32) - 1);
+  o.push_back(new utime_t());
+  o.back()->tv.tv_nsec = static_cast<__u32>((1L << 32) - 1);
+}
index f2f88b55e0c8a9c470cee6500c4f89f7e6a4bbf5..a3faaad75123dbcf0f9bde7e72ae19ef796ef42a 100644 (file)
@@ -172,7 +172,9 @@ public:
     denc(v.tv.tv_nsec, p);
   }
 
-
+  void dump(ceph::Formatter *f) const;
+  static void generate_test_instances(std::list<utime_t*>& o);
+  
   void encode_timeval(struct ceph_timespec *t) const {
     t->tv_sec = tv.tv_sec;
     t->tv_nsec = tv.tv_nsec;
index bdaf07851420a856767038b5677d4e44f473465b..887d7cca8c37f1dd80052a86cf506cc9eaeb815d 100644 (file)
@@ -11,6 +11,7 @@ endif()
 set(dencoder_srcs
   ceph_dencoder.cc
   ../../include/uuid.cc
+  ../../include/utime.cc
   $<TARGET_OBJECTS:common_texttable_obj>)
 if(WITH_RADOSGW)
   list(APPEND dencoder_srcs