diff options
author | Sage Weil <sage@newdream.net> | 2012-01-27 10:40:14 -0800 |
---|---|---|
committer | Sage Weil <sage@newdream.net> | 2012-01-27 10:40:14 -0800 |
commit | 6453123cfa5066d75b0b6f678c8f3fe3218da3a0 (patch) | |
tree | e19bee24b5c68bc494ffae310ecccbeda4998880 | |
parent | 0cc26a94c8b9724588951e19b264ad26146685a3 (diff) | |
download | ceph-6453123cfa5066d75b0b6f678c8f3fe3218da3a0.tar.gz |
objecter: warn when OSD returns mismatched op vector
The osd shouldn't do this (even though we should tolerate it).
Signed-off-by: Sage Weil <sage@newdream.net>
Reviewed-by: Greg Farnum <gregory.farnum@dreamhost.com>
-rw-r--r-- | src/osdc/Objecter.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/osdc/Objecter.cc b/src/osdc/Objecter.cc index ddf60e52871..43b41da1cbc 100644 --- a/src/osdc/Objecter.cc +++ b/src/osdc/Objecter.cc @@ -1177,6 +1177,12 @@ void Objecter::handle_osd_op_reply(MOSDOpReply *m) // per-op result demuxing vector<OSDOp> out_ops; m->claim_ops(out_ops); + + if (out_ops.size() != op->ops.size()) + ldout(cct, 0) << "WARNING: tid " << op->tid << " reply ops " << out_ops + << " != request ops " << op->ops + << " from " << m->get_source_inst() << dendl; + vector<bufferlist*>::iterator pb = op->out_bl.begin(); vector<int*>::iterator pr = op->out_rval.begin(); vector<Context*>::iterator ph = op->out_handler.begin(); |