]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osdc: build MOSDOp message in Objecter::_send_op 19994/head
authorrunsisi <runsisi@zte.com.cn>
Thu, 18 Jan 2018 02:22:57 +0000 (10:22 +0800)
committerrunsisi <runsisi@zte.com.cn>
Tue, 23 Jan 2018 11:42:02 +0000 (19:42 +0800)
it's more intuitive and consistent

Signed-off-by: runsisi <runsisi@zte.com.cn>
src/osdc/Objecter.cc
src/osdc/Objecter.h

index 13ed59424d2be55ad3d29ff5542588f40e9df443..46e38ca676edd8a5f81b47b92767b6301ac2f0fc 100644 (file)
@@ -708,10 +708,9 @@ void Objecter::_send_linger_ping(LingerOp *info)
   o->target = info->target;
   o->should_resend = false;
   _send_op_account(o);
-  MOSDOp *m = _prepare_osd_op(o);
   o->tid = ++last_tid;
   _session_op_assign(info->session, o);
-  _send_op(o, m);
+  _send_op(o);
   info->ping_tid = o->tid;
 
   onack->sent = now;
@@ -2464,11 +2463,6 @@ void Objecter::_op_submit(Op *op, shunique_lock& sul, ceph_tid_t *ptid)
     _maybe_request_map();
   }
 
-  MOSDOp *m = NULL;
-  if (need_send) {
-    m = _prepare_osd_op(op);
-  }
-
   OSDSession::unique_lock sl(s->lock);
   if (op->tid == 0)
     op->tid = ++last_tid;
@@ -2482,7 +2476,7 @@ void Objecter::_op_submit(Op *op, shunique_lock& sul, ceph_tid_t *ptid)
   _session_op_assign(s, op);
 
   if (need_send) {
-    _send_op(op, m);
+    _send_op(op);
   }
 
   // Last chance to touch Op here, after giving up session lock it can
@@ -3226,7 +3220,7 @@ MOSDOp *Objecter::_prepare_osd_op(Op *op)
   return m;
 }
 
-void Objecter::_send_op(Op *op, MOSDOp *m)
+void Objecter::_send_op(Op *op)
 {
   // rwlock is locked
   // op->session->lock is locked
@@ -3255,10 +3249,8 @@ void Objecter::_send_op(Op *op, MOSDOp *m)
     }
   }
 
-  if (!m) {
-    assert(op->tid > 0);
-    m = _prepare_osd_op(op);
-  }
+  assert(op->tid > 0);
+  MOSDOp *m = _prepare_osd_op(op);
 
   if (op->target.actual_pgid != m->get_spg()) {
     ldout(cct, 10) << __func__ << " " << op->tid << " pgid change from "
@@ -3292,8 +3284,6 @@ void Objecter::_send_op(Op *op, MOSDOp *m)
 
   op->incarnation = op->session->incarnation;
 
-  m->set_tid(op->tid);
-
   if (op->trace.valid()) {
     m->trace.init("op msg", nullptr, &op->trace);
   }
index f1918675707a945a7a3ea47a78410d170478d4e7..6d81df31af9d69f6cd3cdf0c113551dd5de3eac2 100644 (file)
@@ -1901,7 +1901,7 @@ public:
   ceph::timespan osd_timeout;
 
   MOSDOp *_prepare_osd_op(Op *op);
-  void _send_op(Op *op, MOSDOp *m = NULL);
+  void _send_op(Op *op);
   void _send_op_account(Op *op);
   void _cancel_linger_op(Op *op);
   void finish_op(OSDSession *session, ceph_tid_t tid);