const string& SnapRealm::get_snapname(snapid_t snapid, inodeno_t atino)
{
- if (srnode.snaps.count(snapid)) {
+ auto srnode_snaps_entry = srnode.snaps.find(snapid);
+ if (srnode_snaps_entry != srnode.snaps.end()) {
if (atino == inode->ino())
- return srnode.snaps[snapid].name;
+ return srnode_snaps_entry->second.name;
else
- return srnode.snaps[snapid].get_long_name();
+ return srnode_snaps_entry->second.get_long_name();
}
map<snapid_t,snaplink_t>::iterator p = srnode.past_parents.lower_bound(snapid);
void join(SnapRealm *child);
void add_cap(client_t client, Capability *cap) {
- if (client_caps.count(client) == 0)
- client_caps[client] = new xlist<Capability*>;
- client_caps[client]->push_back(&cap->item_snaprealm_caps);
+ auto client_caps_entry = client_caps.find(client);
+ if (client_caps_entry == client_caps.end())
+ client_caps_entry = client_caps.emplace(client,
+ new xlist<Capability*>).first;
+ client_caps_entry->second->push_back(&cap->item_snaprealm_caps);
}
void remove_cap(client_t client, Capability *cap) {
cap->item_snaprealm_caps.remove_myself();