+int name_link_names(Name *n) {
+ char *t;
+ void *state;
+ int r;
+
+ assert(n);
+
+ if (!n->meta.linked)
+ return 0;
+
+ /* Link all names that aren't linked yet */
+
+ SET_FOREACH(t, n->meta.names, state)
+ if ((r = hashmap_put(n->meta.manager->names, t, n)) < 0) {
+
+ if (r == -EEXIST && hashmap_get(n->meta.manager->names, t) == n)
+ continue;
+
+ return r;
+ }
+
+ return 0;
+}
+