From ea831e05bb1392c2b8a2b1c73cd6281fce88badb Mon Sep 17 00:00:00 2001 From: Greg Farnum Date: Wed, 2 Oct 2013 16:27:19 -0700 Subject: [PATCH] TrackedOp: give people an _event_marked() notifier instead of a virtual mark_event() This is less prone to getting broken. Signed-off-by: Greg Farnum --- src/common/TrackedOp.cc | 1 + src/common/TrackedOp.h | 6 ++++-- src/os/Makefile.am | 3 ++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/common/TrackedOp.cc b/src/common/TrackedOp.cc index 2c19c9ec0f3c9..82594a6491e64 100644 --- a/src/common/TrackedOp.cc +++ b/src/common/TrackedOp.cc @@ -246,6 +246,7 @@ void TrackedOp::mark_event(const string &event) events.push_back(make_pair(now, event)); } tracker->mark_event(this, event); + _event_marked(); } void TrackedOp::dump(utime_t now, Formatter *f) const diff --git a/src/common/TrackedOp.h b/src/common/TrackedOp.h index 1734fddda0c92..2fe9eeb230c1e 100644 --- a/src/common/TrackedOp.h +++ b/src/common/TrackedOp.h @@ -132,9 +132,11 @@ protected: tracker->register_inflight_op(&xitem); } - virtual void init_from_message() {}; + virtual void init_from_message() {} /// output any type-specific data you want to get when dump() is called virtual void _dump(utime_t now, Formatter *f) const {} + /// if you want something else to happen when events are marked, implement + virtual void _event_marked() {} public: virtual ~TrackedOp() { assert(request); request->put(); } @@ -150,7 +152,7 @@ public: } Message *get_req() const { return request; } - virtual void mark_event(const string &event); + void mark_event(const string &event); virtual const char *state_string() const { return events.rbegin()->second.c_str(); } diff --git a/src/os/Makefile.am b/src/os/Makefile.am index b7fef8dd209aa..4f12a6a327816 100644 --- a/src/os/Makefile.am +++ b/src/os/Makefile.am @@ -13,7 +13,8 @@ libos_la_SOURCES = \ os/WBThrottle.cc \ os/BtrfsFileStoreBackend.cc \ os/GenericFileStoreBackend.cc \ - os/ZFSFileStoreBackend.cc + os/ZFSFileStoreBackend.cc \ + common/TrackedOp.cc noinst_LTLIBRARIES += libos.la noinst_HEADERS += \ -- 2.39.5