The canceling caller cleans up the blocked objects for us; we simply need
to bail out early.
Signed-off-by: Sage Weil <sage@inktank.com>
dout(10) << __func__ << " " << soid << " r=" << r
<< " uv" << results->user_version << dendl;
+ if (r == -ECANCELED) {
+ return;
+ }
+
bool whiteout = false;
if (r == -ENOENT &&
(pool.info.cache_mode == pg_pool_t::CACHEMODE_WRITEBACK ||
if (blocked_iter->second.empty()) {
waiting_for_blocked_object.erase(blocked_iter);
}
- if (r != -ECANCELED) { // on cancel the client will resend
- osd->reply_op_error(op, r);
- }
+ osd->reply_op_error(op, r);
return;
}