Use local acting[], not the one stashed in creating_pgs[pgid]. And drop
the duplication .erase().
Signed-off-by: Sage Weil <sage@newdream.net>
{
assert(osd_lock.is_locked());
+ dout(10) << "_open_lock_pg " << pgid << dendl;
PGPool *pool = _get_pool(pgid.pool());
// create
t = new ObjectStore::Transaction;
fin = new C_Contexts;
if (create) {
- pg = _create_lock_new_pg(pgid, creating_pgs[pgid].acting, *t);
- creating_pgs.erase(pgid);
+ pg = _create_lock_new_pg(pgid, acting, *t);
} else {
pg = _create_lock_pg(pgid, *t);
pg->acting.swap(acting);