diff options
author | Greg Farnum <greg@inktank.com> | 2013-10-02 16:27:19 -0700 |
---|---|---|
committer | Greg Farnum <greg@inktank.com> | 2013-10-03 15:18:43 -0700 |
commit | ea831e05bb1392c2b8a2b1c73cd6281fce88badb (patch) | |
tree | 2af71fa8390195dfddec2f29e06d5483bb63b36c | |
parent | 41a13450527c22be6d0d2832129412ac86145db7 (diff) | |
download | ceph-ea831e05bb1392c2b8a2b1c73cd6281fce88badb.tar.gz |
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 <greg@inktank.com>
-rw-r--r-- | src/common/TrackedOp.cc | 1 | ||||
-rw-r--r-- | src/common/TrackedOp.h | 6 | ||||
-rw-r--r-- | 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 2c19c9ec0f3..82594a6491e 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 1734fddda0c..2fe9eeb230c 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 b7fef8dd209..4f12a6a3278 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 += \ |