]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
TrackedOp: template OpTracker on only T[::Ref] (ie, OpRequest[::Ref])
authorGreg Farnum <greg@inktank.com>
Wed, 2 Oct 2013 22:35:53 +0000 (15:35 -0700)
committerGreg Farnum <greg@inktank.com>
Wed, 2 Oct 2013 22:35:53 +0000 (15:35 -0700)
Signed-off-by: Greg Farnum <greg@inktank.com>
src/common/TrackedOp.h
src/osd/OSD.cc
src/osd/OpRequest.h

index 3344301c7c8cc4da1dcaf07e3c28e15db0afcbc8..c098c4b017046c194ee0bfcfa7c03235df3b5108 100644 (file)
@@ -91,19 +91,19 @@ public:
     assert(ops_in_flight.empty());
   }
 
-  template <typename T, typename TRef>
-  TRef create_request(Message *ref)
+  template <typename T>
+  typename T::Ref create_request(Message *ref)
   {
-    TRef retval(new T(ref, this),
-                RemoveOnDelete(this));
-
+    typename T::Ref retval(new T(ref, this),
+                          RemoveOnDelete(this));
+    
     _mark_event(retval.get(), "header_read", ref->get_recv_stamp());
     _mark_event(retval.get(), "throttled", ref->get_throttle_stamp());
     _mark_event(retval.get(), "all_read", ref->get_recv_complete_stamp());
     _mark_event(retval.get(), "dispatched", ref->get_dispatch_stamp());
-
+    
     retval->init_from_message();
-
+    
     return retval;
   }
 };
index 2e933b38bf039694522fb29b22c99383d725b0eb..8150d9b3cd98d705d5da9aa1309f38e4a1649fba 100644 (file)
@@ -4724,7 +4724,7 @@ void OSD::_dispatch(Message *m)
 
   default:
     {
-      OpRequestRef op = op_tracker.create_request<OpRequest, OpRequestRef>(m);
+      OpRequestRef op = op_tracker.create_request<OpRequest>(m);
       op->mark_event("waiting_for_osdmap");
       // no map?  starting up?
       if (!osdmap) {
index 88c4e7d4bc20075d44623fe4afe662a5c060fc6f..6131aae0d2d8704cbb0cc2ae89221568dc0d40c7 100644 (file)
@@ -143,9 +143,10 @@ public:
   }
 
   void init_from_message();
-};
 
-typedef std::tr1::shared_ptr<OpRequest> OpRequestRef;
+  typedef std::tr1::shared_ptr<OpRequest> Ref;
+};
 
+typedef OpRequest::Ref OpRequestRef;
 
 #endif /* OPREQUEST_H_ */