new_obj.attrs.erase(*i);
}
new_obj.dirty = true;
- pool_obj_cont[current_snap].erase(oid);
- pool_obj_cont[current_snap].insert(pair<string,ObjectDesc>(oid, new_obj));
+ pool_obj_cont[current_snap].insert_or_assign(oid, new_obj);
}
void remove_object_header(const string &oid)
ObjectDesc new_obj = get_most_recent(oid);
new_obj.header = bufferlist();
new_obj.dirty = true;
- pool_obj_cont[current_snap].erase(oid);
- pool_obj_cont[current_snap].insert(pair<string,ObjectDesc>(oid, new_obj));
+ pool_obj_cont[current_snap].insert_or_assign(oid, new_obj);
}
new_obj.header = bl;
new_obj.exists = true;
new_obj.dirty = true;
- pool_obj_cont[current_snap].erase(oid);
- pool_obj_cont[current_snap].insert(pair<string,ObjectDesc>(oid, new_obj));
+ pool_obj_cont[current_snap].insert_or_assign(oid, new_obj);
}
void update_object_attrs(const string &oid, const map<string, ContDesc> &attrs)
}
new_obj.exists = true;
new_obj.dirty = true;
- pool_obj_cont[current_snap].erase(oid);
- pool_obj_cont[current_snap].insert(pair<string,ObjectDesc>(oid, new_obj));
+ pool_obj_cont[current_snap].insert_or_assign(oid, new_obj);
}
void update_object(ContentsGenerator *cont_gen,
new_obj.dirty = true;
new_obj.update(cont_gen,
contents);
- pool_obj_cont[current_snap].erase(oid);
- pool_obj_cont[current_snap].insert(pair<string,ObjectDesc>(oid, new_obj));
+ pool_obj_cont[current_snap].insert_or_assign(oid, new_obj);
}
void update_object_full(const string &oid, const ObjectDesc &contents)
{
- pool_obj_cont[current_snap].erase(oid);
- pool_obj_cont[current_snap].insert(pair<string,ObjectDesc>(oid, contents));
+ pool_obj_cont[current_snap].insert_or_assign(oid, contents);
pool_obj_cont[current_snap][oid].dirty = true;
}
{
ObjectDesc new_obj = get_most_recent(oid);
new_obj.dirty = false;
- pool_obj_cont[current_snap].erase(oid);
- pool_obj_cont[current_snap].insert(pair<string,ObjectDesc>(oid, new_obj));
+ pool_obj_cont[current_snap].insert_or_assign(oid, new_obj);
}
void update_object_version(const string &oid, uint64_t version,
{
ceph_assert(!get_watch_context(oid));
ObjectDesc new_obj;
- pool_obj_cont[current_snap].erase(oid);
- pool_obj_cont[current_snap].insert(pair<string,ObjectDesc>(oid, new_obj));
+ pool_obj_cont[current_snap].insert_or_assign(oid, new_obj);
}
bool find_object(const string &oid, ObjectDesc *contents, int snap = -1) const