summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYehuda Sadeh <yehuda@inktank.com>2013-07-16 13:42:03 -0700
committerYehuda Sadeh <yehuda@inktank.com>2013-07-16 14:08:20 -0700
commit72d4351ea5a470051e428ffc5531acfc7d1c7b6f (patch)
tree7d994845c873af719fc4466f7c519fc2afc44fba
parentad1392f68170b391d11df0ce5523c2d1fb57f60e (diff)
downloadceph-72d4351ea5a470051e428ffc5531acfc7d1c7b6f.tar.gz
rgw: quiet down ECANCELED on put_obj_meta()
Fixes: #5439 ECANCELED there means that we lost in a race to write the object. We should treat it as a successful write. This is reviving an old behavior that was changed inadvertently. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
-rw-r--r--src/rgw/rgw_rados.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/rgw/rgw_rados.cc b/src/rgw/rgw_rados.cc
index c9d6c70980b..5e305cbf29a 100644
--- a/src/rgw/rgw_rados.cc
+++ b/src/rgw/rgw_rados.cc
@@ -2301,6 +2301,11 @@ done_cancel:
if (ret < 0) {
ldout(cct, 0) << "ERROR: complete_update_index_cancel() returned ret=" << ret << dendl;
}
+ /* we lost in a race, object was already overwritten, we
+ * should treat it as a success
+ */
+ if (r == -ECANCELED)
+ r = 0;
return r;
}