]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
objecter: trigger oncommit acks if the request returns an error code.
authorGreg Farnum <gregory.farnum@dreamhost.com>
Fri, 18 Nov 2011 16:47:09 +0000 (08:47 -0800)
committerGreg Farnum <gregory.farnum@dreamhost.com>
Fri, 18 Nov 2011 17:49:57 +0000 (09:49 -0800)
Many users only set oncommit acks, so if they get an error code
(which comes only as a CEPH_OSD_OP_ACK right now) the request
disappears into the ether.
(And remove stupid debug statements while we're at it.)

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
src/osdc/Objecter.cc

index 8cdf5e100c7ca64db2663fd99b1c742674ac761b..a781b57984239c03b384bf0fcc72767b4116b779 100644 (file)
@@ -1159,7 +1159,7 @@ void Objecter::handle_osd_op_reply(MOSDOpReply *m)
     num_unacked--;
     logger->inc(l_osdc_op_ack);
   }
-  if (op->oncommit && m->is_ondisk()) {
+  if (op->oncommit && (m->is_ondisk() || rc)) {
     ldout(cct, 15) << "handle_osd_op_reply safe" << dendl;
     oncommit = op->oncommit;
     op->oncommit = 0;
@@ -1183,9 +1183,7 @@ void Objecter::handle_osd_op_reply(MOSDOpReply *m)
 
   // do callbacks
   if (onack) {
-    ldout(cct, 20) << "Calling onack->finish with rc " << rc << dendl;
     onack->finish(rc);
-    ldout(cct, 20) << "Finished onack-finish" << dendl;
     delete onack;
   }
   if (oncommit) {