From 2a262956947a3fa2f3d621b8af392bdecb653464 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Thu, 2 Feb 2012 12:36:27 -0800 Subject: [PATCH] osd: do not dereference ctx->op when NULL We may not have an OpRequest. Make the later check do the cast properly when it is needed. Signed-off-by: Sage Weil --- src/osd/ReplicatedPG.cc | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index 64532ec2c7774..a19634cfb58be 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -3048,7 +3048,6 @@ void ReplicatedPG::issue_repop(RepGather *repop, utime_t now, { OpContext *ctx = repop->ctx; const hobject_t& soid = ctx->obs->oi.soid; - MOSDOp *m = (MOSDOp *)ctx->op->request; dout(7) << "issue_repop rep_tid " << repop->rep_tid << " o " << soid @@ -3075,8 +3074,8 @@ void ReplicatedPG::issue_repop(RepGather *repop, utime_t now, false, acks_wanted, get_osdmap()->get_epoch(), repop->rep_tid, repop->ctx->at_version); - - if (m && m->get_flags() & CEPH_OSD_FLAG_PARALLELEXEC) { + if (ctx->op && + (((MOSDOp *)ctx->op->request)->get_flags() & CEPH_OSD_FLAG_PARALLELEXEC)) { // replicate original op for parallel execution on replica assert(0 == "broken implementation, do not use"); wr->oloc = repop->ctx->obs->oi.oloc; -- 2.39.5