From: Josh Durgin Date: Sat, 7 Dec 2013 00:03:20 +0000 (-0800) Subject: objecter: don't take extra throttle budget for resent ops X-Git-Tag: v0.67.6~46 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=4dae50d8a0ffe3f3491eae62950fe46229aaa0e6;p=ceph.git objecter: don't take extra throttle budget for resent ops These ops have already taken their budget in the original op_submit(). It will be returned via put_op_budget() when they complete. If there were many localized reads of missing objects from replicas, or cache pool redirects, this would cause the objecter to use up all of its op throttle budget and hang. Signed-off-by: Josh Durgin (cherry picked from commit 8d0180b1b7b48662daef199931efc7f2a6a1c431) Conflicts: src/osdc/Objecter.cc --- diff --git a/src/osdc/Objecter.cc b/src/osdc/Objecter.cc index 4934dba700e..b33ef277df4 100644 --- a/src/osdc/Objecter.cc +++ b/src/osdc/Objecter.cc @@ -1561,7 +1561,7 @@ void Objecter::handle_osd_op_reply(MOSDOpReply *m) num_unacked--; if (op->oncommit) num_uncommitted--; - op_submit(op); + _op_submit(op); m->put(); return; }