summaryrefslogtreecommitdiffstats
path: root/src/rgw/services/svc_sys_obj_cache.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/rgw/services/svc_sys_obj_cache.cc')
-rw-r--r--src/rgw/services/svc_sys_obj_cache.cc11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/rgw/services/svc_sys_obj_cache.cc b/src/rgw/services/svc_sys_obj_cache.cc
index d1b7a3dbb..4c3603d1c 100644
--- a/src/rgw/services/svc_sys_obj_cache.cc
+++ b/src/rgw/services/svc_sys_obj_cache.cc
@@ -90,6 +90,11 @@ int RGWSI_SysObj_Cache::remove(const DoutPrefixProvider *dpp,
optional_yield y)
{
+ int r = RGWSI_SysObj_Core::remove(dpp, objv_tracker, obj, y);
+ if (r < 0) {
+ return r;
+ }
+
rgw_pool pool;
string oid;
normalize_pool_and_obj(obj.pool, obj.oid, pool, oid);
@@ -98,12 +103,12 @@ int RGWSI_SysObj_Cache::remove(const DoutPrefixProvider *dpp,
cache.invalidate_remove(dpp, name);
ObjectCacheInfo info;
- int r = distribute_cache(dpp, name, obj, info, INVALIDATE_OBJ, y);
+ r = distribute_cache(dpp, name, obj, info, INVALIDATE_OBJ, y);
if (r < 0) {
ldpp_dout(dpp, 0) << "ERROR: " << __func__ << "(): failed to distribute cache: r=" << r << dendl;
- }
+ } // not fatal
- return RGWSI_SysObj_Core::remove(dpp, objv_tracker, obj, y);
+ return 0;
}
int RGWSI_SysObj_Cache::read(const DoutPrefixProvider *dpp,