PG *OSD::_open_lock_pg(pg_t pgid)
{
+ assert(osd_lock.is_locked());
+
// create
PG *pg;
if (pgid.is_rep())
PG *OSD::_create_lock_pg(pg_t pgid, ObjectStore::Transaction& t)
{
+ assert(osd_lock.is_locked());
dout(10) << "_create_lock_pg " << pgid << dendl;
if (pg_map.count(pgid))
bool OSD::_have_pg(pg_t pgid)
{
+ assert(osd_lock.is_locked());
return pg_map.count(pgid);
}
PG *OSD::_lookup_lock_pg(pg_t pgid)
{
+ assert(osd_lock.is_locked());
assert(pg_map.count(pgid));
PG *pg = pg_map[pgid];
pg->lock();
void OSD::_remove_unlock_pg(PG *pg)
{
+ assert(osd_lock.is_locked());
pg_t pgid = pg->info.pgid;
dout(10) << "_remove_unlock_pg " << pgid << dendl;
void OSD::load_pgs()
{
+ assert(osd_lock.is_locked());
dout(10) << "load_pgs" << dendl;
assert(pg_map.empty());
*/
void OSD::activate_pg(pg_t pgid, epoch_t epoch)
{
+ assert(osd_lock.is_locked());
+
if (pg_map.count(pgid)) {
PG *pg = _lookup_lock_pg(pgid);
if (pg->is_crashed() &&
void OSD::update_heartbeat_peers()
{
+ assert(osd_lock.is_locked());
+
// build heartbeat to/from set
heartbeat_to.clear();
heartbeat_from.clear();
void OSD::send_pg_stats()
{
+ assert(osd_lock.is_locked());
+
dout(10) << "send_pg_stats" << dendl;
// grab queue
void OSD::handle_osd_map(MOSDMap *m)
{
+ assert(osd_lock.is_locked());
if (!ceph_fsid_equal(&m->fsid, &monmap->fsid)) {
dout(0) << "handle_osd_map fsid " << m->fsid << " != " << monmap->fsid << dendl;
delete m;
*/
void OSD::advance_map(ObjectStore::Transaction& t)
{
+ assert(osd_lock.is_locked());
+
dout(7) << "advance_map epoch " << osdmap->get_epoch()
<< " " << pg_map.size() << " pgs"
<< dendl;
void OSD::activate_map(ObjectStore::Transaction& t)
{
+ assert(osd_lock.is_locked());
+
dout(7) << "activate_map version " << osdmap->get_epoch() << dendl;
map< int, list<PG::Info> > notify_list; // primary -> list
*/
void OSD::handle_pg_query(MOSDPGQuery *m)
{
+ assert(osd_lock.is_locked());
+
dout(7) << "handle_pg_query from " << m->get_source() << " epoch " << m->get_epoch() << dendl;
int from = m->get_source().num();
void OSD::handle_pg_remove(MOSDPGRemove *m)
{
+ assert(osd_lock.is_locked());
+
dout(7) << "handle_pg_remove from " << m->get_source() << dendl;
if (!require_same_or_newer_map(m, m->get_epoch())) return;