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;
}