i++) {
PG *pg = i->second;
pg->lock_with_map_lock_held();
- if (pg->dirty_info)
- pg->write_info(t);
+ pg->write_if_dirty(t);
pg->unlock();
}
}
PG::RecoveryCtx rctx(&query_map, &info_map, ¬ify_list, &tfin, &t);
pg->handle_activate_map(&rctx);
- if (pg->dirty_info)
- pg->write_info(t);
+ pg->write_if_dirty(t);
pg->unlock();
}
for (map<pg_t,PG*>::iterator q = children.begin(); q != children.end(); q++) {
PG *pg = q->second;
pg->handle_create(&rctx);
+ pg->write_if_dirty(t);
wake_pg_waiters(pg->info.pgid);
pg->unlock();
}
wake_pg_waiters(pg->info.pgid);
PG::RecoveryCtx rctx(&query_map, &info_map, 0, &fin->contexts, t);
pg->handle_create(&rctx);
+ pg->write_if_dirty(*t);
pg->update_stats();
int tr = store->queue_transaction(&pg->osr, t, new ObjectStore::C_DeleteTransaction(t), fin);
PG::RecoveryCtx rctx(&query_map, &info_map, 0, &fin->contexts, t);
pg->handle_notify(from, it->first, &rctx);
- if (pg->dirty_info)
- pg->write_info(*t);
+ pg->write_if_dirty(*t);
int tr = store->queue_transaction(&pg->osr, t, new ObjectStore::C_DeleteTransaction(t), fin);
assert(tr == 0);
map< int, MOSDPGInfo* > info_map;
PG::RecoveryCtx rctx(&query_map, &info_map, 0, &fin->contexts, t);
pg->handle_log(from, m, &rctx);
- if (pg->dirty_info)
- pg->write_info(*t);
+ pg->write_if_dirty(*t);
pg->unlock();
do_queries(query_map);
do_infos(info_map);
PG::RecoveryCtx rctx(0, &info_map, 0, &fin->contexts, t);
pg->handle_info(from, p->first, &rctx);
- if (pg->dirty_info)
- pg->write_info(*t);
+ pg->write_if_dirty(*t);
int tr = store->queue_transaction(&pg->osr, t, new ObjectStore::C_DeleteTransaction(t), fin);
assert(!tr);