]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
TrackedOp: give people an _event_marked() notifier instead of a virtual mark_event()
authorGreg Farnum <greg@inktank.com>
Wed, 2 Oct 2013 23:27:19 +0000 (16:27 -0700)
committerGreg Farnum <greg@inktank.com>
Thu, 3 Oct 2013 22:18:43 +0000 (15:18 -0700)
This is less prone to getting broken.

Signed-off-by: Greg Farnum <greg@inktank.com>
src/common/TrackedOp.cc
src/common/TrackedOp.h
src/os/Makefile.am

index 2c19c9ec0f3c9604526543d7071b013f1499ceb5..82594a6491e641ada7458deb48a43b3731a6fe4c 100644 (file)
@@ -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
index 1734fddda0c92a81a8eaef5b16f122f67c364f83..2fe9eeb230c1e60b5f5a11e035817daa39db6762 100644 (file)
@@ -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();
   }
index b7fef8dd209aa6a3de3a6f94714b863daec13fe2..4f12a6a327816e88b1eb4b70159f38debac9afd9 100644 (file)
@@ -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 += \