From: runsisi Date: Thu, 18 Jan 2018 02:22:57 +0000 (+0800) Subject: osdc: build MOSDOp message in Objecter::_send_op X-Git-Tag: wip-pdonnell-testing-20180317.202121~480^2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=fc02286a28a767b9b570a71cf9908b96661f99ba;p=ceph-ci.git osdc: build MOSDOp message in Objecter::_send_op it's more intuitive and consistent Signed-off-by: runsisi --- diff --git a/src/osdc/Objecter.cc b/src/osdc/Objecter.cc index 13ed59424d2..46e38ca676e 100644 --- a/src/osdc/Objecter.cc +++ b/src/osdc/Objecter.cc @@ -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); } diff --git a/src/osdc/Objecter.h b/src/osdc/Objecter.h index f1918675707..6d81df31af9 100644 --- a/src/osdc/Objecter.h +++ b/src/osdc/Objecter.h @@ -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);