From 685542431ea69a0201ad16655efeba9e80a2def3 Mon Sep 17 00:00:00 2001 From: Greg Farnum Date: Thu, 25 Apr 2019 22:57:38 -0700 Subject: [PATCH] common: make utime_t dencoder-compatible Signed-off-by: Greg Farnum --- src/include/utime.cc | 33 ++++++++++++++++++++++++++ src/include/utime.h | 4 +++- src/tools/ceph-dencoder/CMakeLists.txt | 1 + 3 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 src/include/utime.cc diff --git a/src/include/utime.cc b/src/include/utime.cc new file mode 100644 index 00000000000..0afc1d585a1 --- /dev/null +++ b/src/include/utime.cc @@ -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& 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); +} diff --git a/src/include/utime.h b/src/include/utime.h index f2f88b55e0c..a3faaad7512 100644 --- a/src/include/utime.h +++ b/src/include/utime.h @@ -172,7 +172,9 @@ public: denc(v.tv.tv_nsec, p); } - + void dump(ceph::Formatter *f) const; + static void generate_test_instances(std::list& o); + void encode_timeval(struct ceph_timespec *t) const { t->tv_sec = tv.tv_sec; t->tv_nsec = tv.tv_nsec; diff --git a/src/tools/ceph-dencoder/CMakeLists.txt b/src/tools/ceph-dencoder/CMakeLists.txt index bdaf0785142..887d7cca8c3 100644 --- a/src/tools/ceph-dencoder/CMakeLists.txt +++ b/src/tools/ceph-dencoder/CMakeLists.txt @@ -11,6 +11,7 @@ endif() set(dencoder_srcs ceph_dencoder.cc ../../include/uuid.cc + ../../include/utime.cc $) if(WITH_RADOSGW) list(APPEND dencoder_srcs -- 2.39.5