Fixes: https://tracker.ceph.com/issues/54208
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
(cherry picked from commit
27f5ba9e5f649d8767c8ab44d56404e0186f6fc1)
Fixes: https://tracker.ceph.com/issues/54208
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
void RGWDataChangesLog::update_renewed(const rgw_bucket_shard& bs,
real_time expiration)
{
- std::scoped_lock l{lock};
+ std::unique_lock l{lock};
ChangeStatusPtr status;
_get_change(bs, status);
+ l.unlock();
+
ldout(cct, 20) << "RGWDataChangesLog::update_renewd() bucket_name="
<< bs.bucket.name << " shard_id=" << bs.shard_id
<< " expiration=" << expiration << dendl;
+
+ std::unique_lock sl(status->lock);
status->cur_expiration = expiration;
}