rgw: RGWSI_SysObj_Cache::remove() invalidates after successful delete
invalidating the cache before the librados delete means that a racing call
to `RGWSI_SysObj_Cache::read()` may succeed and repopulate the cache. in
that case, subsequent reads will continue to return cached data even after
the librados delete succeeds
Fixes: https://tracker.ceph.com/issues/64480
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit
0eebbc3f02ad153d41d23de227bd989da50e54cf)
Conflicts: RGWSysObjectCtxBase argument not present on reef/squid
src/rgw/services/svc_sys_obj_cache.cc