timestamp4[FORMAT_TIMESTAMP_MAX],
timespan[FORMAT_TIMESPAN_MAX];
Unit *following;
+ _cleanup_set_free_ Set *following_set = NULL;
+ int r;
assert(u);
assert(u->type >= 0);
"%s\tSlice: %s\n"
"%s\tCGroup: %s\n"
"%s\tCGroup realized: %s\n"
- "%s\tCGroup mask: 0x%x\n",
+ "%s\tCGroup mask: 0x%x\n"
+ "%s\tCGroup members mask: 0x%x\n",
prefix, u->id,
prefix, unit_description(u),
prefix, strna(u->instance),
prefix, strna(unit_slice_name(u)),
prefix, strna(u->cgroup_path),
prefix, yes_no(u->cgroup_realized),
- prefix, u->cgroup_mask);
+ prefix, u->cgroup_mask,
+ prefix, u->cgroup_members_mask);
SET_FOREACH(t, u->names, i)
fprintf(f, "%s\tName: %s\n", prefix, t);
STRV_FOREACH(j, u->documentation)
fprintf(f, "%s\tDocumentation: %s\n", prefix, *j);
- if ((following = unit_following(u)))
+ following = unit_following(u);
+ if (following)
fprintf(f, "%s\tFollowing: %s\n", prefix, following->id);
+ r = unit_following_set(u, &following_set);
+ if (r >= 0) {
+ Unit *other;
+
+ SET_FOREACH(other, following_set, i)
+ fprintf(f, "%s\tFollowing Set Member: %s\n", prefix, other->id);
+ }
+
if (u->fragment_path)
fprintf(f, "%s\tFragment Path: %s\n", prefix, u->fragment_path);
goto fail;
}
+ unit_update_member_masks(u);
+
r = unit_add_mount_links(u);
if (r < 0)
goto fail;