++p;
}
if (queued) {
- sdata_lock.Lock();
+ sdata_wait_lock.Lock();
sdata_cond.SignalOne();
- sdata_lock.Unlock();
+ sdata_wait_lock.Unlock();
}
}
_attach_pg(slot, pg);
_wake_pg_slot(pg->pg_id, slot);
}
- sdata_lock.Lock();
+ sdata_wait_lock.Lock();
sdata_cond.SignalOne();
- sdata_lock.Unlock();
+ sdata_wait_lock.Unlock();
}
void OSDShard::unprime_split_children(spg_t parent, unsigned old_pg_num)
// peek at spg_t
sdata->sdata_op_ordering_lock.Lock();
if (sdata->pqueue->empty()) {
- sdata->sdata_lock.Lock();
+ sdata->sdata_wait_lock.Lock();
if (!sdata->stop_waiting) {
dout(20) << __func__ << " empty q, waiting" << dendl;
osd->cct->get_heartbeat_map()->clear_timeout(hb);
sdata->sdata_op_ordering_lock.Unlock();
- sdata->sdata_cond.Wait(sdata->sdata_lock);
- sdata->sdata_lock.Unlock();
+ sdata->sdata_cond.Wait(sdata->sdata_wait_lock);
+ sdata->sdata_wait_lock.Unlock();
sdata->sdata_op_ordering_lock.Lock();
if (sdata->pqueue->empty()) {
sdata->sdata_op_ordering_lock.Unlock();
osd->cct->_conf->threadpool_default_timeout, 0);
} else {
dout(0) << __func__ << " need return immediately" << dendl;
- sdata->sdata_lock.Unlock();
+ sdata->sdata_wait_lock.Unlock();
sdata->sdata_op_ordering_lock.Unlock();
return;
}
item.get_owner(), priority, cost, std::move(item));
sdata->sdata_op_ordering_lock.Unlock();
- sdata->sdata_lock.Lock();
+ sdata->sdata_wait_lock.Lock();
sdata->sdata_cond.SignalOne();
- sdata->sdata_lock.Unlock();
+ sdata->sdata_wait_lock.Unlock();
}
}
sdata->_enqueue_front(std::move(item), osd->op_prio_cutoff);
sdata->sdata_op_ordering_lock.Unlock();
- sdata->sdata_lock.Lock();
+ sdata->sdata_wait_lock.Lock();
sdata->sdata_cond.SignalOne();
- sdata->sdata_lock.Unlock();
+ sdata->sdata_wait_lock.Unlock();
}
namespace ceph {
string shard_name;
- string sdata_lock_name;
- Mutex sdata_lock;
+ string sdata_wait_lock_name;
+ Mutex sdata_wait_lock;
Cond sdata_cond;
string osdmap_lock_name;
cct(cct),
osd(osd),
shard_name(string("OSDShard.") + stringify(id)),
- sdata_lock_name(shard_name + "::sdata_lock"),
- sdata_lock(sdata_lock_name.c_str(), false, true, false, cct),
+ sdata_wait_lock_name(shard_name + "::sdata_wait_lock"),
+ sdata_wait_lock(sdata_wait_lock_name.c_str(), false, true, false, cct),
osdmap_lock_name(shard_name + "::osdmap_lock"),
osdmap_lock(osdmap_lock_name.c_str(), false, false),
sdata_op_ordering_lock_name(shard_name + "::sdata_op_ordering_lock"),
for(uint32_t i = 0; i < osd->num_shards; i++) {
OSDShard* sdata = osd->shards[i];
assert (NULL != sdata);
- sdata->sdata_lock.Lock();
+ sdata->sdata_wait_lock.Lock();
sdata->stop_waiting = true;
sdata->sdata_cond.Signal();
- sdata->sdata_lock.Unlock();
+ sdata->sdata_wait_lock.Unlock();
}
}
for(uint32_t i = 0; i < osd->num_shards; i++) {
OSDShard* sdata = osd->shards[i];
assert (NULL != sdata);
- sdata->sdata_lock.Lock();
+ sdata->sdata_wait_lock.Lock();
sdata->stop_waiting = false;
- sdata->sdata_lock.Unlock();
+ sdata->sdata_wait_lock.Unlock();
}
}