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 <josh.durgin@inktank.com>
ldout(cct, 5) << " got redirect reply; redirecting" << dendl;
unregister_op(op);
m->get_redirect().combine_with_locator(op->target_oloc, op->target_oid.name);
- op_submit(op);
+ _op_submit(op);
m->put();
return;
}
if (rc == -EAGAIN) {
ldout(cct, 7) << " got -EAGAIN, resubmitting" << dendl;
unregister_op(op);
- op_submit(op);
+ _op_submit(op);
m->put();
return;
}