void OSD::ShardedOpWQ::clear_pg_pointer(spg_t pgid)
{
  uint32_t shard_index = pgid.hash_to_shard(shard_list.size());
  auto sdata = shard_list[shard_index];
  Mutex::Locker l(sdata->sdata_op_ordering_lock);
  auto p = sdata->pg_slots.find(pgid);
  if (p != sdata->pg_slots.end()) {
    auto& slot = p->second;
    dout(20) << __func__ << " " << pgid << " pg " << slot.pg << dendl;
    assert(!slot.pg || slot.pg->deleting);
    slot.pg = nullptr;
  }
}
void OSD::ShardedOpWQ::clear_pg_pointer(spg_t pgid)
{
  uint32_t shard_index = pgid.hash_to_shard(shard_list.size());
  auto sdata = shard_list[shard_index];
  Mutex::Locker l(sdata->sdata_op_ordering_lock);
  auto p = sdata->pg_slots.find(pgid);
  if (p != sdata->pg_slots.end()) {
    auto& slot = p->second;
    dout(20) << __func__ << " " << pgid << " pg " << slot.pg << dendl;
    assert(!slot.pg || slot.pg->deleting);
    slot.pg = nullptr;
  }
}